1

我想重现一个类似导航栏的 Tweetbot。
我仍在寻找是否可以在一个栏中放置一个UIButton代替标题,使其完全适合左右按钮之间,就像在 Tweetbot 应用程序中所做的那样。 当我尝试这样做时,超过一定大小会自动缩小UINavigationBar
self.navigationItem.titleView

如果我遗漏了一些明显的东西,请告诉我,
谢谢

我提供了两张截图让你看看我在说什么 按钮正常
按钮高亮

4

3 回答 3

1

他们可能已经推出了自己的UINavigationBar和/或UINavigationController. 我想尝试破解 UIKit 是不值得的,因为它会非常脆弱并且不会面向未来。

于 2012-10-14T16:27:54.037 回答
0

您是否尝试在 titleView 上将 autoresizesSubviews 设置为 YES,然后在 UIButton 上设置正确的自动调整大小掩码?如果这不起作用,我建议您创建自定义视图子类并覆盖 -layoutSubviews 以满足您的需求。

于 2012-10-16T05:28:19.113 回答
0

您可以向导航项的标题视图属性添加一个按钮,该属性接受 UIView,并且由于 UIButton 是 UIView 的子类,因此这不是问题。

或者,如果您使用故事板,只需将一个按钮拖到导航栏的中心,就这么简单。

// Create the button, and specify the type
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

// Set the button's frame
button.frame = CGRectMake(0.0f, 0.0f, 30.0f, 30.0f);

// Set your custom image for the button
[button setImage:[UIImage imageNamed:@"YOUR_IMAGE_NAME"]  forState:UIControlStateNormal];

// Set the button's action, which is the method that will be called when it is pressed
[button addTarget:self action:@selector(doSomething:) forControlEvents:UIControlEventTouchUpInside];

// Add the button to the navigation bar's title view
[self.navigationItem.titleView addSubview:button];

SDK参考: https ://developer.apple.com/library/ios/#documentation/UIKit/Reference/UINavigationItem_Class/Reference/UINavigationItem.html

于 2012-10-14T19:47:33.583 回答