0

我的工具栏中有一个 barbutton,我正在尝试增加工具栏的高度以及 barbutton。我能够使用以下代码增加工具栏的大小。但我仍然无法增加其中 Barbutton 的高度。有任何想法吗?

Declaration in .h

    @property (weak, nonatomic) IBOutlet UIToolbar *viewLogToolbar;

Code in .m

    CGRect frameBar = viewLogToolbar.frame;
    frameBar.size.height = 75;
    viewLogToolbar.frame=frameBar;

这只会增加 UIToolbar 的大小,但类似的代码不适用于 barbutton。

我的 UIBarButton 属性和操作的声明

@property (weak, nonatomic) IBOutlet UIBarButtonItem *viewLogOut;

- (IBAction)viewLog:(id)sender;
4

2 回答 2

1

为了增加 UIBarButtonItem 的大小,将 UIbutton 分配给它的 customView 属性,如下所示:

UIButton *yourbutton = [UIButton buttonWithType:UIButtonTypeCustom];
yourbutton.frame = CGRectMake(0, 0, width, height);
[yourbutton addTarget:self action:@selector(YOUR_METHOD:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:yourbutton];

编辑:您可以将栏按钮传递为工具栏:

NSArray *items = [NSArray arrayWithObjects: barButtonItem,nil];

[YOUR_TOOLBAR setItems:items animated:NO];

希望它可以帮助你。

于 2013-08-20T09:51:35.937 回答
0
    NSMutableArray *buttons=[[NSMutableArray alloc] initWithCapacity:3];

    UIButton *reportBtn = [UIButton buttonWithType: UIButtonTypeCustom];
   // [reportBtn addTarget:self action:@selector(btnReportClicked) forControlEvents:UIControlEventTouchUpInside];
    reportBtn.frame = CGRectMake(330.00, 300.0, 90.0, 30.0);
    [reportBtn setTitle:@"Report"  forState:UIControlStateNormal];
    [reportBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    reportBtn.titleLabel.font = [UIFont fontWithName:@"Arial-BoldMT" size:13.0];
    //reportBtn.backgroundColor = [UIColor colorWithRed:65.0/255.0 green:105.0/255.0 blue:225.0/255.0 alpha:1.0];

    [reportBtn setBackgroundImage:[UIImage imageNamed:@"toolbarbtn.png"] forState:UIControlStateNormal];
    [self.view addSubview:reportBtn];

    UIBarButtonItem *repoBarbtn =[[UIBarButtonItem alloc]initWithCustomView:reportBtn];
    repoBarbtn.style = UIBarButtonItemStyleBordered;
    [buttons addObject:repoBarbtn];
    [repoBarbtn release];

试试这个代码一次......也许它会帮助你......把这个代码放在 viewdidload 或其他方法中。

于 2013-08-20T09:50:58.017 回答