我有一组UILabel的,并希望将所选项目的id放在标签中。就像这样:
UILabel *miII = [[UILabel alloc] initWithFrame:CGRectMake(530, 0, 25, 25)];
miII.tag=item.id;下面我可以在其中设置destinationViewController的destinationViewController属性。我遇到的问题是如何从UILabel访问标记?还是有更好的方法来做这件事?我已经在评论中包含了我的经验,并且不使用UITableView。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"prepareForSegue: %@", segue.identifier);
ItemDetailViewController *myVC = [segue destinationViewController];
//[myVC setItemId:12]; // <-- hard-coding this works
[myVC setItemId:sender.view.tag]; // this doesn't work
}
- (void)tapRecognized:(UIGestureRecognizer *)sender
{
NSLog(@"that tap was recognized with %d", sender.view.tag); // <-- this works
[self performSegueWithIdentifier: @"ItemSegue" sender: self];
}thx预先
发布于 2014-02-24 03:40:26
sol很简单,但基于其他Q和A的,有点神秘。我做了以下几点:
@interface ListViewController ()
{
@private
int _itemId;
}
.....
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// NSLog(@"prepareForSegue: %@", segue.identifier);
// NSLog(@"prepareForSegue: %@", sender);
ItemDetailViewController *myVC = [segue destinationViewController];
[myVC setItemId:_itemId]; // obviously need property for itemId on ItemDetailViewController
}
- (void)tapRecognized:(id)sender
{
NSLog(@"that tap was recognized with %d", [(UIGestureRecognizer *)sender view].tag);
_itemId=[(UIGestureRecognizer *)sender view].tag;在ItemDetailiViewController.h。
@interface ItemDetailViewController : UIViewController
@property (nonatomic) int itemId;https://stackoverflow.com/questions/21963261
复制相似问题