iphone - 如何在模态视图中的工具栏上添加标题和完成按钮

标签 iphone objective-c ios modalviewcontroller uitoolbar

我尝试从导航 View Controller (DateViewController) 呈现模态视图 (InfoViewController)。

我在 InfoViewContoller 的 View 顶部添加了一个工具栏。现在我想在工具栏上添加一个标题“信息”和一个“完成”按钮。(完成按钮将执行 infoDismissAction 方法)

谁能给我一些提示?非常感谢!

这是 DateViewController.h 的代码

#import <UIKit/UIKit.h>
#import "InfoViewController.h"
@interface DateViewController : UIViewController 
{
    InfoViewController *infoViewController;
}
@property (nonatomic, retain) InfoViewController *infoViewController;
@end

DateViewController.m

- (IBAction)modalViewAction:(id)sender{    
    if (self.infoViewController == nil)
        self.infoViewController = [[[InfoViewController alloc] initWithNibName:
                                   NSStringFromClass([InfoViewController class]) bundle:nil] autorelease];
    [self presentModalViewController:self.infoViewController animated:YES];
}

- (void)dealloc{
    if (self.infoViewController != nil)
    {
        [infoViewController release];
    }
    [super dealloc];
}

- (void)viewDidLoad{
    self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Info"  style:UIBarButtonSystemItemPlay target:self  action:@selector(modalViewAction:)] autorelease];
    [modalBarButtonItem release];
    [super viewDidLoad];
}

这是 InfoViewController.m

- (IBAction)infoDismissAction:(id)sender{
    [self.parentViewController dismissModalViewControllerAnimated:YES];
}

- (void)viewDidLoad {
    UIToolbar *toolBar;
    toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
    toolBar.frame = CGRectMake(0, 0, 320, 50);
    toolBar.barStyle = UIBarStyleDefault;
    [toolBar sizeToFit];        
    [self.view addSubview:toolBar]; 
    [toolBar release];
    [backButton release];
    [super viewDidLoad];
}

最佳答案

试试这段代码。

- (void)viewDidLoad {
       UIToolbar *toolBar;
            toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
            toolBar.frame = CGRectMake(0, 0, 320, 50);
            toolBar.barStyle = UIBarStyleDefault;
            [toolBar sizeToFit];      
UIBarButtonItem *flexibleSpace = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease];
UIBarButtonItem *infoButton = [[[UIBarButtonItem alloc] initWithTitle:@"INFO" style:UIBarButtonItemStyleBordered target:self action:@selector(InfoAction:)] autorelease];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"DONE" style:UIBarButtonItemStyleBordered target:self action:@selector(doneAction:)];


            NSArray *barButton  =   [[NSArray alloc] initWithObjects:flexibleSpace,infoButton,flexibleSpace,doneButton,nil];
            [toolBar setItems:barButton];

        [self.view addSubview:toolBar];
        [toolBar release];
        [barButton release];
        barButton = nil;
        [super viewDidLoad];

}

关于iphone - 如何在模态视图中的工具栏上添加标题和完成按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558267/

相关文章:

ios - 将 CCSprite (NSObject) 添加到 MutableArray 崩溃

iphone - 如何为 iOS 创建像谷歌地图一样的用户卡片动画

iphone - ios 有计时器吗

ios - xcode 6 升级导致 prepare for segue lag showing screen

objective-c - objective-c 中的计算没有返回正确的值

objective-c - 使用 NSData 和 NSCoding 加载 iOS 自定义文件格式

iphone - 直接从应用程序转到地址簿/联系电话

ios - 被 iTunes Connect 拒绝,原因为 "Your iTunes Connect settings indicate that your app serves third-party advertisements. "

ios - 标记不在 subview IOS SWIFT 的谷歌地图中

iphone - 在 Xcode 中设置 GCC 4.2.1 选项