上に示したように、ツールバーにUIImageViewとUILabelを使用してUIBarButtonItemを作成します。私は試した
UIButton *likecommButton = [UIButton buttonWithType:UIButtonTypeCustom];
likecommButton.backgroundColor = [UIColor clearColor];
[likecommButton addTarget:self action:@selector(likecommButtonClicked:) forControlEvents:UIControlEventTouchDown];
UIImageView *likeImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"like.png"]];
likeImageView.frame = CGRectMake(0.0, 0.0, LikeCommentImageEdge, LikeCommentImageEdge);
likeImageView.backgroundColor = [UIColor clearColor];
[likecommButton addSubview:likeImageView];
[likeImageView release];
CGSize numberSize = [@"99" sizeWithFont:[UIFont fontWithName:@"Verdana-Bold" size:12]
constrainedToSize:CGSizeMake(20.0, 20.0)
lineBreakMode:UILineBreakModeTailTruncation];
_likeNumberLabel = [[UILabel alloc] initWithFrame: CGRectMake(likeImageView.frame.size.width, 0.0, numberSize.width, numberSize.width)];
_likeNumberLabel.backgroundColor = [UIColor clearColor];
_likeNumberLabel.textColor = [UIColor whiteColor];
_likeNumberLabel.font = [UIFont fontWithName:@"Verdana-Bold" size:12];
_likeNumberLabel.textAlignment = UITextAlignmentRight;
_likeNumberLabel.lineBreakMode = UILineBreakModeClip;
[likecommButton addSubview:_likeNumberLabel];
UIImageView *commentImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"comment.png"]];
commentImageView.frame = CGRectMake(_likeNumberLabel.frame.origin.x + _likeNumberLabel.frame.size.width, 0.0, LikeCommentImageEdge, LikeCommentImageEdge);
commentImageView.backgroundColor = [UIColor clearColor];
[likecommButton addSubview:commentImageView];
[commentImageView release];
_commentNumberLabel = [[UILabel alloc] initWithFrame: CGRectMake(toolBarButtonWidth - numberSize.width, 0.0, numberSize.width, numberSize.width)];
_commentNumberLabel.backgroundColor = [UIColor clearColor];
_commentNumberLabel.textColor = [UIColor whiteColor];
_commentNumberLabel.font = [UIFont fontWithName:@"Verdana-Bold" size:12];
_commentNumberLabel.textAlignment = UITextAlignmentRight;
_commentNumberLabel.lineBreakMode = UILineBreakModeClip;
[likecommButton addSubview:_commentNumberLabel];
likecommButton.frame = CGRectMake(0.0, 0.0, toolBarButtonWidth, numberSize.height);
_likeCommCountButton = [[UIBarButtonItem alloc] initWithCustomView:likecommButton];
_likeCommCountButton.width = toolBarButtonWidth;
_likeCommCountButton.enabled = NO;
しかし、これしか手に入れることができません
最初の画像が示すようにUIBarButtonItemを作成するには、UIImageViewを含め、UILabelにもUIBarButtonItemStyleBorderedスタイルがありますか?
ありがとう
20120506を更新
これは@RAのアイデアに従う-小さなツールバー
この問題は、フレームをツールバーに設定する方法を知っていますが、他の2つのUIBarButtonItemsの「Like」と「Comment」の高さを取得できません。次に、小さなツールバーの高さを設定できません。
次に、すべてのコントローラー、2つのimageviewと2つのラベルをUISegmentControlに追加しようとしました
ご覧のとおり、3番目のuibarbuttonitem(UISegmentControl 1つ)は他の2つとは異なります。設定しました
segmentControl.tintColor = [UIColor clearColor];
segmentControl.backgroundColor = [UIColor clearColor];
うまくいかない。
@RAの方が好きですが、他の2つのUIBarButtonItemの高さを取得して、3番目の小さなツールバーの高さに設定する方法が必要です。
20120509を更新
時間がかかりすぎたので、先に進む必要があります。現在、UISegmentControlソリューションを使用しています(スタイルは少し異なります)。この質問は閉じません。今後も勉強していきます。以下の友達の助け、特に@RA@vishiphoneに感謝します。皆さんは私に別の考えを与えてくれました。私たちがまだ一緒に固執して、より多くの質問を掘り下げることができることを願っています。このトピックは後で続けます。皆さんがまだここにいることを願っています!どうもありがとうございます!