1

Instagramでは、写真をツイートすると、画面中央に次の写真のように「ツイート投稿」という小さなテキストボックスが表示されます。1、2秒で消えます。正確には何ですか?どうすればIOSでそのようなものを構築できますか?ありがとう!

ここに画像の説明を入力してください

4

1 に答える 1

2

それは確かに標準的なコントロールです。UILabelと呼ばれます。

NSString *text = @"Tweet posted";
UIFont *font = [UIFont boldSystemFontOfSize:20.0f];
CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(320, 100)];

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width + 20, size.height + 20)];
label.textColor = [UIColor whiteColor];
label.backgroundColor = [[UIColor darkGrayColor] colorWithAlphaComponent:0.8];
label.textAlignment = NSTextAlignmentCenter;
label.font = font;
label.text = text;
label.layer.cornerRadius = 5.0f;
label.shadowColor = [UIColor darkGrayColor];

label.center = CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height/2);

[self.view addSubview:label];

double delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    [UIView animateWithDuration:0.5f animations:^{
        label.alpha = 0.0f;
    } completion:^(BOOL finished) {
        [label removeFromSuperview];
    }];
});

特別なものはなく、標準のプロパティといくつかのレイヤーの「魔法」だけです。そしてGCD。
コードは自明である必要があります。することを忘れないでください#import <QuartzCore/QuartzCore.h>

于 2013-03-15T18:12:21.600 に答える