我有一個問題,我目前找不到解決方案。在我的應用程序中,我在NavigationBar中有多個按鈕,這些按鈕在整個應用程序中都是必需的,而不是在每個視圖控制器中創建按鈕,我想要製作UINavigationBar或UINavigationController的子類(我不知道哪一個)。因此,無論何時用戶在視圖之間移動,導航欄始終包含這些按鈕。至今我一直在搜尋這件事,但找不到任何值得的東西。 請提前告訴我一個這樣做的方法。ios6和ios7中的自定義導航欄
0
A
回答
0
#import "CustomNavBar.h"
@implementation CustomNavBar
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.tintColor=[UIColor greenColor];
}
return self;
}
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed:@"Custom-Nav-Bar-BG.png"];
[image drawInRect:CGRectMake(0, 0, 40, self.frame.size.height)];
UIButton *btn=[UIButton buttonWithType:UIButtonTypeContactAdd];
[btn drawRect:CGRectMake(42, 0, 40, self.frame.size.height)];
UIButton *btn2=[UIButton buttonWithType:UIButtonTypeContactAdd];
[btn2 drawRect:CGRectMake(82, 0, 40, self.frame.size.height)];
}
@end
0
你也可以繼承標準UINavigationBar
實現這一
@interface CustomNavigationBar : UINavigationBar
- (id)initWithFrame:(CGRect)frame;
@end
@implementation CustomNavigationBar
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
UIButton *btn=[UIButton buttonWithType:UIButtonTypeContactAdd];
[btn addTarget:self action:@selector(<#selector#>) forControlEvents:<#(UIControlEvents)#>]
[self addSubview:btn];
...
...
}
return self;
}
- (void)drawRect:(CGRect)rect {
[[UIColor redColor] setFill];
UIRectFill(rect);
}
@end
要使用這是StoryBoard
或xib
,簡單地改變標準類名CustomNavigationBar
。
OR
如果你想以編程方式
在AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
UINavigationController *navVC = [[UINavigationController alloc] initWithNavigationBarClass:[CustomNavigationBar class] toolbarClass:nil];
UIStoryboard *mStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ViewController *VC1 = [mStoryboard instantiateViewControllerWithIdentifier:@"VC"];
[navVC setViewControllers:[NSArray arrayWithObject:VC1] animated:NO];
[self. window setRootViewController:navVC];
[self. window makeKeyAndVisible];
return YES;
}
相關問題
- 1. 自定義iOS7中導航欄的titleView?
- 2. 如何更改ios6和ios7中導航欄的背景顏色?
- 3. 導航欄背景圖片 - 支持iOS6和iOS7
- 4. 自定義導航欄,與iOS6的按鈕兼容性問題
- 5. iOS:在自定義導航欄中定位導航欄按鈕
- 6. 自定義Wordpress導航欄
- 7. 自定義導航欄?
- 8. 自定義導航欄backBarButton
- 9. 導航欄自定義
- 10. Mailcomposer自定義導航欄
- 11. 自定義導航欄android
- 12. 自定義導航欄
- 13. UINavigationController隱藏導航欄與自定義過渡代表在iOS7
- 14. iOS7導航欄中的搜索欄
- 15. Swift中的自定義導航欄
- 16. 導航欄中的自定義文本
- 17. Appcelerator Titanium中的自定義導航欄
- 18. iPhone SDK中的自定義導航欄?
- 19. Xcode 4中的自定義導航欄?
- 20. 指定自定義導航欄的UINavigationController
- 21. 在Xamarin.forms中自定義導航欄
- 22. 在導航欄中自定義UIBarButtonItem。
- 23. 自定義導航欄在iOS 5中
- 24. 在ios中自定義導航欄
- 25. 如何添加一個自定義的UIView到iOS7的導航欄中這樣
- 26. 自定義導航控制器和導航欄?
- 27. ios7中的自定義邊欄
- 28. 導航欄圖片隱藏自定義導航欄按鈕
- 29. 自定義導航欄給我雙導航欄iN查看
- 30. iOS7中的視圖移至上方導航欄,但在iOS6中正常工作