0

次のように表示されるようにTTButtonのスタイルを設定しようとしています。

http://tinypic.com/r/29c3oyh/6

画像とテキストの両方がTTButton内で中央揃えになっており、画像がテキストの上にあることがわかります。TTBoxStyleと順序の組み合わせに関係なく、画像とテキストの両方を同時に正しく配置することはできないようです。

- (TTStyle*)happyfaceIcon:(UIControlState)state {
return [TTImageStyle styleWithImageURL:nil defaultImage:nil contentMode:UIViewContentModeCenter size:CGSizeMake(40, 40) next:
        [TTBoxStyle styleWithMargin:UIEdgeInsetsMake(0, 20, 0, 0) next:nil]];
}

- (TTStyle*)happyfaceButton:(UIControlState)state {
return [TTShapeStyle styleWithShape:[TTRectangleShape shape] next:
        [TTSolidBorderStyle styleWithColor:[UIColor blackColor] width:1 next:
         [TTSolidFillStyle styleWithColor:[UIColor grayColor] next:
          [TTBoxStyle styleWithMargin:UIEdgeInsetsMake(45, 2, 5, 2) next:
           [TTTextStyle styleWithFont:[UIFont boldSystemFontOfSize:10]
                                color:[UIColor blackColor] textAlignment:UITextAlignmentCenter next:
            [TTPartStyle styleWithName:@"image" style:TTSTYLESTATE(happyfaceIcon:, state) next: nil
             ]]]]]];
}
4

1 に答える 1

1

まあ、それはかなり簡単だったようです。答えを確認するには、TTLauncherButtonを確認する必要がありました。

基本的に、TTButtonプロパティisVertical=YESはすべての問題をクリアしました。

誰かが興味を持っているなら、これが私の最終的なスタイルでもあります

- (TTStyle*)shortcutIcon:(UIControlState)state {
TTStyle* style =
[TTBoxStyle styleWithMargin:UIEdgeInsetsMake(-7, 0, 11, 0) next:
  [TTImageStyle styleWithImageURL:nil defaultImage:nil contentMode:UIViewContentModeCenter
                             size:CGSizeZero next:nil]];

if (state == UIControlStateHighlighted || state == UIControlStateSelected) {
    [style addStyle:
     [TTBlendStyle styleWithBlend:kCGBlendModeSourceAtop next:
      [TTSolidFillStyle styleWithColor:RGBACOLOR(0,0,0,0.5) next:nil]]];
}

return style;
}

- (TTStyle*)shortcutButton:(UIControlState)state {
return
[TTPartStyle styleWithName:@"image" style:TTSTYLESTATE(shortcutIcon:, state) next:
 [TTTextStyle styleWithFont:[UIFont fontWithName:@"Frutiger-Light" size:15] color:TTSTYLEVAR(shortcutTextColor)
            minimumFontSize:11 shadowColor:nil
               shadowOffset:CGSizeZero next:nil]];
}
于 2012-09-13T15:38:51.803 に答える