1

スワイプするとセルに非表示のビューが表示されると呼んでいるボイドがあります。それらがアイコンに設定されている場合、配置はうまくいきましたが、カスタムボタンに変更して、アイコンの代わりにテキストを表示できるようにしました。上。

編集:また、ボタンがあるべき場所に触れると、実際にそこにあるかのように機能し、「見た目」がめちゃくちゃになります。たとえば、間違った例 (画像) で、decision1 が左側にある場合、クリックするとリクエストが受け入れられますが、中央の空の領域をクリックしても何もありません。

これがコーディングです

- (void)bottomDrawerWillAppear {
    UIImageView *drawerBGImg = [[UIImageView alloc]  initWithFrame:CGRectMake(0,0,320,75)];
    NSString *friendAvatar = [NSString stringWithFormat:@"%@%@%@", @"http://www.thatonewebsite.com/images/users/", [MyClass friendID], @".jpg"];
    [drawerBGImg setImageWithURL:[NSURL URLWithString:friendAvatar]];
    self.bottomDrawer.clipsToBounds = YES;
    drawerBGImg.contentMode = UIViewContentModeScaleAspectFill;
    [self.bottomDrawer addSubview:drawerBGImg];

    UIImageView *drawerBG = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,75)];
    drawerBG.image = [UIImage imageNamed:@"drawerBG.png"];
    [self.bottomDrawer addSubview:drawerBG];
    NSLog(@"%@", [MyClass friendID]);

    UIButton *inviteToLocationBtn=[UIButton buttonWithType:UIButtonTypeCustom];
    inviteToLocationBtn.frame=CGRectMake(15.0, 15.0, 80.0, 50.0);
    [inviteToLocationBtn setTitle:@"accept" forState:UIControlStateNormal];
    inviteToLocationBtn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size: 22.0f];
    inviteToLocationBtn.titleLabel.textColor = [UIColor whiteColor];
    [inviteToLocationBtn addTarget:self action:@selector(callAccept) forControlEvents:UIControlEventTouchUpInside];
    [self.bottomDrawer addSubview:inviteToLocationBtn];

    UIButton *deleteBtn=[UIButton buttonWithType:UIButtonTypeCustom];
    deleteBtn.frame=CGRectMake(130.0, 15.0, 80.0, 50.0);
    [inviteToLocationBtn setTitle:@"decline1" forState:UIControlStateNormal];
    inviteToLocationBtn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size: 22.0f];
    inviteToLocationBtn.titleLabel.textColor = [UIColor whiteColor];
    [deleteBtn addTarget:self action:@selector(callDeny) forControlEvents:UIControlEventTouchUpInside];
    [self.bottomDrawer addSubview:deleteBtn];

    UIButton *messageBtn=[UIButton buttonWithType:UIBarButtonSystemItemCompose];
    messageBtn.frame=CGRectMake(245.0, 15.0, 50.0, 50.0);
    UIImage *messageImage = [UIImage imageNamed:@"messageIcon.png"];
    [messageBtn setImage:messageImage forState:UIControlStateNormal];
    [messageBtn addTarget:self action:@selector(callChat) forControlEvents:UIControlEventTouchUpInside];
    [self.bottomDrawer addSubview:messageBtn];

}

ご覧になる前に、大きな画像で申し訳ありませんが、これがどのように見えるかです ここに画像の説明を入力

これがその本来の姿です。真ん中の画像、招待状です。

ここに画像の説明を入力

4

1 に答える 1

3

deleteBtn を宣言した後、タイトルを @"decline1" に設定しますが、inviteToLocationBtn を呼び出します。[inviteToLocationBtn setTitle:@"decline1" forState:UIControlStateNormal] は deleteBtn を参照する必要があります。

上記のこの行:

UIButton *deleteBtn=[UIButton buttonWithType:UIButtonTypeCustom];
deleteBtn.frame=CGRectMake(130.0, 15.0, 80.0, 50.0);
[inviteToLocationBtn setTitle:@"decline1" forState:UIControlStateNormal];
inviteToLocationBtn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size: 22.0f];
inviteToLocationBtn.titleLabel.textColor = [UIColor whiteColor];
[deleteBtn addTarget:self action:@selector(callDeny) forControlEvents:UIControlEventTouchUpInside];
[self.bottomDrawer addSubview:deleteBtn];

次のようにする必要があります。

UIButton *deleteBtn=[UIButton buttonWithType:UIButtonTypeCustom];
deleteBtn.frame=CGRectMake(130.0, 15.0, 80.0, 50.0);
[deleteBtn setTitle:@"decline1" forState:UIControlStateNormal];
deleteBtn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size: 22.0f];
deleteBtn.titleLabel.textColor = [UIColor whiteColor];
[deleteBtn addTarget:self action:@selector(callDeny) forControlEvents:UIControlEventTouchUpInside];
[self.bottomDrawer addSubview:deleteBtn];
于 2013-06-20T12:43:51.203 に答える