0

我有 UISearchBar,我希望它可以在点击时展开。我有像这样的动画:

[UISearchBar beginAnimations:nil context:NULL];
[UISearchBar setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UISearchBar setAnimationDuration:0.5];
[self.searchBar setFrame:CGRectMake(self.searchBar.frame.origin.x, self.searchBar.frame.origin.y, self.searchBar.frame.size.width +100, self.searchBar.frame.size.height)];
[UISearchBar commitAnimations];

这是有效的,但它从左向右扩展它,但我希望它从右向左扩展它。我想在界面构建器中执行类似操作,您可以从 9 点中选择 1 来扩展它。

我尝试设置

[searchBar.layer setAnchorPoint:CGPointMake(1, 0.5)];

但它没有用。

马尔科

4

2 回答 2

1

您可以执行以下操作:

[UIView animateWithDuration:0.5
                 animations:^{
                     [UIView animateWithDuration:1.0 animations:^{
                         self.searchBar.frame = CGRectMake(self.searchBar.frame.origin.x - 50.0f, self.searchBar.frame.origin.y, self.searchBar.frame.size.width + 50.0f, self.searchBar.frame.size.height);
                         [self.searchBar layoutSubviews];
                     }];
                 }
                 completion:^(BOOL finished){  }];

这将使右侧粘住并看到左侧的增长。

于 2013-04-25T07:25:14.280 回答
0

您还应该更改 UISearchBar 的来源以获得所需的效果。例如: self.searchBar.frame = CGRectMake(self.searchBa.frame.origin.x - YOUR_OFFSET, self.searchBa.frame.origin.y, self.searchBa.frame.size.width + YOUR_OFFSET, self.searchBa.frame.size.height)

于 2013-04-25T07:22:28.247 回答