iphone – 以编程方式向视图添加多个按钮,调用相同的方法,确定它是哪个按钮

iphone – 以编程方式向视图添加多个按钮,调用相同的方法,确定它是哪个按钮,第1张

概述我想以编程方式将多个UIButtons添加到视图中 – 编译时未知的按钮数. 我可以像这样制作一个或多个UIButton(在一个循环中,但为了简单而缩短): UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];[button addTarget:self action:@selector(but 我想以编程方式将多个UIbuttons添加到视图中 – 编译时未知的按钮数.

我可以像这样制作一个或多个UIbutton(在一个循环中,但为了简单而缩短):

UIbutton *button = [UIbutton buttonWithType:UIbuttonTypeRoundedRect];[button addTarget:self        action:@selector(buttonClicked:)forControlEvents:UIControlEventtouchDown];[button setTitle:@"button x" forState:UIControlStatenormal];button.frame = CGRectMake(100.0,100.0,120.0,50.0);[vIEw addSubvIEw:button];

复制/编辑此链接:
How do I create a basic UIButton programmatically?

但是如何在buttonClicked中确定:单击了哪个按钮?如果可能的话,我想传递标签数据来识别按钮.

解决方法 您可以在某个重要的位置(如数组)保持对实际按钮对象的引用,或者将按钮的标记设置为有用的东西(如某些其他数据数组中的偏移量).例如(使用标签,因为这通常必须有用):

for( int i = 0; i < 5; i++ ) {  UIbutton* abutton = [UIbutton buttonWithType:UIbuttonTypeRoundedRect];  [abutton setTag:i];  [abutton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventtouchUpInsIDe];  [aVIEw addSubvIEw:abutton];}// then ...- (voID)buttonClicked:(UIbutton*)button{  NSLog(@"button %ld clicked.",(long int)[button tag]);}
总结

以上是内存溢出为你收集整理的iphone – 以编程方式向视图添加多个按钮,调用相同的方法,确定它是哪个按钮全部内容,希望文章能够帮你解决iphone – 以编程方式向视图添加多个按钮,调用相同的方法,确定它是哪个按钮所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/998959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存