1

メインビューを横に移動して を公開する機能がありUIButtonます。ビュー内にあるボタンの部分はクリック可能ですが、ボタンの右側はクリックできません。self.view.frame をより大きな数に変更しましたが、まだ同じ問題に直面しています。私も遊んでみましinsertSubview:aboveSubview:たが、それも役に立ちませんでした。

self.view.frame = CGRectMake(0, 0, 1600, 568);
_testView = [[UIView alloc]initWithFrame:CGRectMake(300, 20, 120, 100)];
_testView.backgroundColor = [UIColor greenColor];

UIButton *test = [UIButton buttonWithType:UIButtonTypeRoundedRect];
test.frame = CGRectMake(0, 0, 120, 100);
[test addTarget:self action:@selector(doSomething) forControlEvents:UIControlEventTouchUpInside];

[_testView addSubview:test];
[self.view addSubview:_testView];

- (void)showRightMenu
{
    CGRect frame = self.view.frame;
    frame.origin.x = -100;
self.view.frame = frame
}

編集:私の問題のサンプル プロジェクトをアップロードしましたhttps://dl.dropboxusercontent.com/u/137356839/TestMePlz.zip

4

3 に答える 3

2

あなたが私にあなたのコードを送った後、私はいくつかのことを変更しました:

まず、コンテナ ビューを作成しました (すべてのビューを追跡しやすくします)。

_contatinerView = [[UIView alloc] initWithFrame:self.view.frame];

だからあなたが入れたすべてのビューはself.view私に移動しました_containerView。それから私は明らかににを追加しまし_containerViewself.view

使用する代わりに:

CGRect frame = self.view.frame;
frame.origin.x = -100;
self.view.frame = frame;

やった:

[_contatinerView setTransform:CGAffineTransformTranslate(_contatinerView.transform,-100, 0)];

QuartzCore および CoreGraphics フレームワークを追加する必要があります。

于 2013-07-01T11:02:23.223 に答える
0

これを試して:

[test addTarget:self action:@selector(doSomething:) forControlEvents:UIControlEventTouchUpInside];

次に、方法を変更します。

-(void)doSomething:(id)sender
{
    NSLog(@"Bug Fixes:!!!!!!!");
}

私はあなたのプロジェクトでそれを行い、ボタンは機能します。

于 2013-07-01T13:58:43.430 に答える