0

我的问题是,将我自己的按钮放在 MasterDetail 模板中主视图的上栏的最合适的方法是什么。

我想将自己的按钮放在 MasterDetail 模板中主视图的顶部。它的左侧有一个编辑按钮,右侧有一个添加 (+) 按钮。我注释掉了 .m 文件中的编辑按钮。我在我自己的按钮上吸毒。我注意到的第一件事是我的按钮看起来与右侧的 + 按钮不同。它似乎是统一的大小。接下来的事情是,当我创建按钮时,它没有指定事件的地方(内部修饰)。我可以以某种方式修改 self.editButtonItem。当然,这是一件很常见的事情——用我们的按钮替换他们的按钮。谢谢

4

2 回答 2

2

创建两个自定义按钮并设置在导航项上..

// Set navigation left button
UIButton *btnLeft = [UIButton buttonWithType:UIButtonTypeCustom];
[btnLeft setBackgroundImage:[UIImage imageNamed:@"button_signup.png"] forState:UIControlStateNormal];
[btnLeft addTarget:self action:@selector(skipImage:) forControlEvents:UIControlEventTouchUpInside];
[btnLeft setFrame:CGRectMake(0, 0, 60, 29)];
[btnLeft setTitle:@"Skip" forState:UIControlStateNormal];
[btnLeft setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btnLeft .titleLabel setFont:[UIFont fontWithName:@"Futura" size:15.0]];
UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc] initWithCustomView:btnLeft];
[self.navigationItem setLeftBarButtonItem:leftBarButton];
//
// Set navigation right button
btnRight = [UIButton buttonWithType:UIButtonTypeCustom];
[btnRight setBackgroundImage:[UIImage imageNamed:@"button_signup.png"] forState:UIControlStateNormal];
[btnRight addTarget:self action:@selector(nextImage:) forControlEvents:UIControlEventTouchUpInside];
[btnRight setFrame:CGRectMake(0, 0, 60, 29)];
[btnRight setTitle:@"Next" forState:UIControlStateNormal];
[btnRight setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btnRight.titleLabel setFont:[UIFont fontWithName:@"Futura" size:15.0]];
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithCustomView:btnRight];
[self.navigationItem setRightBarButtonItem:rightBarButton];
//
于 2013-08-05T11:19:08.260 回答
1

这个例子应该可以解决你的问题:http ://rogchap.com/2011/06/21/custom-navigation-bar-background-and-custom-buttons/ ..最初在这里回答->自定义导航栏按钮..

于 2013-08-05T05:41:20.233 回答