gpt4 book ai didi

ios - 自定义类型右栏按钮项之间的间距

转载 作者:行者123 更新时间:2023-11-28 21:43:45 25 4
gpt4 key购买 nike

我在导航栏中添加了四个右栏按钮项。

UIButton *replybutton =  [UIButton buttonWithType:UIButtonTypeCustom];
[replybutton setImage:[UIImage imageNamed:@"reply.png"] forState:UIControlStateNormal];
[replybutton addTarget:self action:@selector(replyAction:)forControlEvents:UIControlEventTouchUpInside];
[replybutton setFrame:CGRectMake(0, 0, 30, 28)];
UIBarButtonItem *replyBarButton = [[UIBarButtonItem alloc] initWithCustomView:replybutton];
// there are 3 more buttons like this..

self.navigationItem.rightBarButtonItems = [[NSArray alloc] initWithObjects:replyBarButton, replyAllBarButton, forwardBarButton, deleteBarButton, nil];

我想在这四个栏按钮自定义类型项之间提供一些额外的间距。我试过 imageInsets,

replyBarButton.imageInsets = UIEdgeInsetsMake(0.0, 40.0, 0.0, 0.0);

但它不给出间距。有人可以告诉我,我怎样才能在四个右栏自定义类型按钮项之间提供额外的间距?

最佳答案

您可以使用 UIBarButtonSystemItemFlexibleSpaceUIBarButtonSystemItemFixedSpace

这是一个例子:

UIButton *button1 = [UIButton buttonWithType:UIButtonTypeCustom];
[button1 setImage:[UIImage imageNamed:@"icon.png"] forState:UIControlStateNormal];
[button1 addTarget:self action:@selector(replyAction:) forControlEvents:UIControlEventTouchUpInside];
[button1 setFrame:CGRectMake(0, 0, 30, 28)];

// other buttons are created the same way

UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithCustomView:button1];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithCustomView:button2];
UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithCustomView:button3];
UIBarButtonItem *item4 = [[UIBarButtonItem alloc] initWithCustomView:button4];

UIBarButtonItem *space1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *space2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *space3 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

self.navigationItem.rightBarButtonItems = @[item1, space1, item2, space2, item3, space3, item4];

在此示例中,您将在每个项目之间添加灵活的空间。这将自动均匀地放置您的元素。

如果你愿意,你也可以定义空间:

UIBarButtonItem *fixedSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
fixedSpace.width = 40.0 // adjust this

关于ios - 自定义类型右栏按钮项之间的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31090411/

25 4 0