上下文
我有一个我正在添加的UIButton,方法如下:
[self.view addSubview:[self returnCustomSubmitButton]];
我没有将工具栏添加为子视图,我将ViewControllers navigationController属性toolBarHidden设置为NO。 - [self.navigationController setToolbarHidden:NO animated:NO];
在viewWill apear
额外明细
我这样做的原因是因为我想在下面创建类似工具栏的东西(注意:这是一个UITabBar,但我正在寻找相同的形状) - 所以我添加了一个工具栏然后添加一个UIButton到viewControllers视图并使用工具栏坐标来定位UIButton
我试图跟着这个(注意:这是针对UITabBar),但是在努力:http://idevrecipes.com/2010/12/16/raised-center-tab-bar-button/
问题
UIButton隐藏在UIToolbar上(我希望它位于工具栏的顶部)。
问题
更新
经过多次尝试修复此问题后,这与我使用UINavigationController的事实有关,而且我正在将“UIButton”添加到“自定义内容”区域,导航工具栏位于其上方无论我做什么。见下文:
答案 0 :(得分:0)
使用此代码。
[self.view bringSubviewToFront:yourButton];
这应该可以解决你的问题。
答案 1 :(得分:0)
使用此代码
[self.view insertSubview:[self returnCustomSubmitButton] aboveSubview:toolbar];
然后您的按钮将位于工具栏上方。
答案 2 :(得分:0)
UIToolbar *toolbar = [[UIToolbar alloc] init];
toolbar.frame = CGRectMake(0, 0, self.view.frame.size.width, 44);
NSMutableArray *items = [[NSMutableArray alloc] initWithObjects:your buttons, nil]
[toolbar setItems:items];
[self.view addSubview:toolbar];
这可能会对你有所帮助
答案 3 :(得分:0)
虽然我认为最好的解决方案是以编程方式创建UIToolbar
,然后创建并添加任何自定义UIBarButtonItem
,以下是您的问题的可能解决方案:
(注意:Apple说you must not try to modify UINavigationController
's default toolbar,所以如果您打算这样做,请尝试以上建议)
- (void)viewDidLoad
{
[super viewDidLoad];
// Show the default toolbar
[self.navigationController setToolbarHidden:NO];
// Create a UIButton
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"btn"] forState:UIControlStateNormal];
[button sizeToFit];
// Add your targets/actions
[button addTarget:self action:@selector(doSomething:) forControlEvents:UIControlEventTouchUpInside];
// Position the button
// I am sure that there must be
// a million better ways to do this
// (it's here just to illustrate the point)
button.center = self.navigationController.toolbar.center;
CGRect frame = button.frame;
frame.origin.y = CGRectGetMaxY([UIScreen mainScreen].bounds) - button.frame.size.height;
button.frame = frame;
// Here is the tricky part. Toolbar is not part
// of your controller's view hierarchy, it belongs
// to the navigation controller. So add the button there
[self.navigationController.view addSubview:button];
}