我有一系列按钮,当我添加动作时,sender.tag始终为零。我该如何解决?以下是我尝试这样做的尝试。单击一个按钮时,我试图获取另一个数组中的图像和名称以传递给下一个视图控制器。问题是<ion-content class="has-header" ng-controller='GeoLocationController'>
<div id="map_canvas">
<ui-gmap-google-map center="map.center" zoom="map.zoom" draggable="true" options="options"></ui-gmap-google-map>
</div>
</ion-content>
始终为零。
sender.tag
答案 0 :(得分:3)
只需使用最后一行代码为您的所有UIButton获取不同的标记。
float heightLimit = pixelWidth * 1.95;
[NSPredicate predicateWithFormat:@"pixelHeight >= %f", heightLimit];
答案 1 :(得分:2)
与其他人一样,您从未设置任何按钮的tag
属性,因此它们都处于默认值0
。
试试这个:
let tagBaseValue = 1000 // Custom value
for (index, users) in upimage.enumerate(){
let tag = tagBaseValue + index
var userbutton = UIButton()
userbutton.addTarget(self, action: "buttonAction:", forControlEvents: .TouchUpInside)
userbutton.frame = CGRectMake(100, 100, 50, 50)
userbutton.layer.cornerRadius = userbutton.frame.size.width/2
userbutton.clipsToBounds = true
userbutton.setImage(users, forState: .Normal)
userButton.tag = tag // <-- ADD THIS LINE!!!
}
已编辑:自定义按钮标记的起始值较高,不等于零,以便区分按钮不带自定义标记值集(以下建议为@) rmaddy在@VirajPadsala回答的评论中。