如何在uitoolbar中将标签设置为居中

时间:2012-11-24 12:16:45

标签: iphone objective-c uitoolbar

我正在开发适用于iOS的通用应用,因此我必须将标签设置为UIToolBar的中心位置。请帮我这样做。

我实施的代码

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 250, 40)];
label.backgroundColor = [UIColor clearColor];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:label];
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"dd-MM-yyyy  hh:mm a"];
NSDate *now = [[NSDate alloc] init];
NSString *dateString = [format stringFromDate:now];
label.text = dateString;

4 个答案:

答案 0 :(得分:1)

FirstViewController.h

@interface FirstViewController:UIVieWController
{
   UILable *justLabel;
}
@end  

在FirstViewController.m中尝试以下代码。这是我在UIToolbar上显示时间的计时器

 @implementation FirstViewController

 -(void)viewDidLoad
    {
        UIToolbar *tool=[[UIToolbar alloc] initWithFrame:CGRectMake(0,372,   self.view.frame.size.width, 44)];  

        justLabel = [[UILabel alloc] initWithFrame:CGRectMake(35, 4, 250, 40)];
            justLabel.backgroundColor = [UIColor clearColor];
        [self.view addSubview:tool];
        [tool addSubview:justLabel];            

    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timer) userInfo:nil repeats:YES];  


     }

-(void)timer
{

       NSDateFormatter *format = [[NSDateFormatter alloc] init];
       [format setDateFormat:@"dd-MM-yyyy  hh:mm:ss a"];
       NSDate *now = [NSDate date];
       NSString *dateString = [format stringFromDate:now];
       justLabel.text=dateString;

}

@end

答案 1 :(得分:1)

您必须在标签前后添加灵活的空格键按钮项,这会将标签置于工具栏中心。

灵活空间是创建UIBarButtonItems时的系统项之一。设置工具栏的项目时,它应该是一个包含灵活空间,标签和另一个灵活空间的数组。

答案 2 :(得分:0)

根据视图宽度设置标签框....

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake((self.view.frame.size.width-250)/2, 0, 250, 40)];

此处(self.view.frame.size.width-250)/2 250是您所需的标签宽度.....

答案 3 :(得分:0)

通过设置页面我是

UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,(self.view.frame.size.width)-55,20)];