6

私はiPhoneアプリを持っており、ボタンをクリックすると、Webアプリケーションのライトボックスにあるように、右上のウィンドウにテキストと「X」の十字記号を表示して、カスタムアラートビューを開く必要があります。

4

5 に答える 5

2

これがあなたの問題を解決できると思うリンクです。

http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-uialertview-custom-graphics/

于 2012-05-28T09:48:41.903 に答える
1

アラート ビューと同様に機能する独自のクラスを作成する方法の例を次に示しますが、必要な背景/ボタン グラフィックを配置できます。

http://iosdevtricks.blogspot.com/2013/04/creating-custom-alert-view-for-iphone.html

于 2013-05-02T00:06:32.937 に答える
1

アラート ビューのカスタマイズを実装する場合は、ViewController の助けを借りて非常に魅力的なアラート ビュー コレクションを持つこのサンプル コードを使用する必要があります。このサンプル コード リンクを試してください https://github.com/eaigner/CODialog

于 2012-05-28T09:54:17.067 に答える
0
- (void)willPresentAlertView:(UIAlertView *)alertView; 
- (void)didPresentAlertView:(UIAlertView *)alertView; 

上記のメッセージのいずれかで、サブビューとそのクラスを確認し、必要に応じて値を変更してください。UIActionSheet のこのサンプル コードを参照してください。ns log を使用してすべてのコンポーネントのクラスを検索し、目的のクラスをカスタマイズします。これは uiactionsheet コードです

for (UIView* view in [actionSheet subviews])
    {
        NSLog(@"%@",[view class]);
        if ([[[view class] description] isEqualToString:@"UIAlertButton"] && [view respondsToSelector:@selector(setAlpha:)])
        {
            [view setAlpha:2.0];
            [view setOpaque:YES];
            if ([view respondsToSelector:@selector(title)])
            {
                NSString* title = [view performSelector:@selector(title)];
                if ([title isEqualToString:@"Cancel"] && [view respondsToSelector:@selector(setBackgroundImage:forState:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setTitleColor:forState:)])
                {

                    [view setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
                    [view setBackgroundImage:[UIImage imageNamed:@"btn-cancel.png"] forState:UIControlStateNormal];
                    [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y+10, view.frame.size.width,view.frame.size.height)];

                }
            }
        }
    }
于 2012-05-28T09:45:49.827 に答える