2

drawRect:メソッド内のUIButtonサブクラスに長方形のはめ込み境界線を描画しています。ご覧のとおり、形状がボタンのtitleLabelフレームに近すぎます。これを回避するために、titleLabelの最大幅/マージンを設定するにはどうすればよいですか?

DrawRect:メソッド

- (void)drawRect:(CGRect)rect {
[super drawRect:rect];

  CGContextRef context = UIGraphicsGetCurrentContext();

  CGContextSetStrokeColorWithColor(context, [UIColor bluecolor].CGColor);

CGContextSetLineWidth(context, 2.0);

CGContextMoveToPoint(context, 4,4);

CGContextAddLineToPoint(context, 56, 4);
CGContextAddLineToPoint(context, 56, 56);
CGContextAddLineToPoint(context, 4, 56);
CGContextAddLineToPoint(context, 4,3);

// and now draw the Path!
CGContextStrokePath(context);

}

これはボタンです

4

3 に答える 3

3

self.titleEdgeInsets=UIEdgeInsetsMake(0, 5, 0, 5);drawRect メソッドで使用します。

于 2013-03-19T10:00:09.673 に答える
1

このコードを試してください....

 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    UIEdgeInsets edgeInsets = button.titleEdgeInsets;
    edgeInsets.left -= 5;
    edgeInsets.right += 5;
    button.titleEdgeInsets = edgeInsets;
于 2013-03-19T10:03:21.337 に答える