2
bigLabel = [[UILabel alloc] init];
UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction)];
[tap setNumberOfTapsRequired:1];
[bigLabel addGestureRecognizer:tap];
bigLabel.backgroundColor=[UIColor clearColor];
bigLabel.text = _referenceObject.textForCell;
//bigLabel.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"Header1.png"]];
bigLabel.font = [UIFont fontWithName:@"HelveticaNeueLTStd-Bd" size: 21.0];
bigLabel.font =[UIFont boldSystemFontOfSize:21.0f];

bigLabel.textColor = [UIColor whiteColor];
[bigLabel sizeToFit];

[self.navigationItem setTitleView:bigLabel];
4

4 に答える 4

6

次のコードを使用します。

UITapGestureRecognizer* tapRecon = [[UITapGestureRecognizer alloc]
              initWithTarget:self action:@selector(navigationBarTap:)];
    tapRecon.numberOfTapsRequired = 1;
    [navController.navigationBar addGestureRecognizer:tapRecon];
于 2013-03-06T11:23:41.517 に答える
4

設定する必要があります

bigLabel.userInteractionEnabled = YES;

デフォルトでは UILabel インスタンス userInteractionEnabled は NO であるため

于 2013-03-06T11:33:10.840 に答える
0

次のようにフレームを設定してみてください。

UIView *iv = [[UIView alloc] initWithFrame:CGRectMake(0,0,32,32)];
[iv setBackgroundColor:[UIColor whiteColor]];
self.navigationItem.titleView = iv;
于 2013-03-06T11:24:02.017 に答える