私は現在、PayPalのモバイル決済ライブラリを使用して商品の支払いを容易にするiOSアプリを開発しています。問題は、Paypalが縦向き-直立モードに設定されたWebビューを生成することです。これは私の知る限り、payPalライブラリ内で生成されており、アクセスするためにとにかく見ることができません。とにかく横向きモードでウェブビューを回転させる方法はありますか。広範囲にわたる検索の結果、ほとんどの人がポートレートモードを使用していることがわかりました。とにかく横向きに回転させる方法はありますか。
3 に答える
実際には、iOSでペイパルのチェックボックスビューを手動で回転させる方法があります。このビューはPayPalViewClassのインスタンスです。このクラスのインスタンスを見つけるために、すべてのビューとすべてのサブビューを調べるメソッドを追加するだけです。探していたビューが見つかったら、setTransformメソッドを適用するだけです。メソッドは次のようになります。
-(void)cicle:(UIView *)aView {
for (UIView *_v in [aView subviews]) {
if ([_v isKindOfClass:[NSClassFromString(@"PayPalViewClass") class]]) {
[aView setTransform:CGAffineTransformMakeRotation(-M_PI/2)];
}
[self cicle:_v];
}
}
payWithPayPalメソッドで呼び出す必要があります。これがお役に立てば幸いです;)
私も同じ問題を抱えています。PayPalは、ルートビューコントローラーではなくキーウィンドウにビューを追加しているため、デバイスの向きを無視します。
ここには、サブビューをウィンドウに直接追加する場合の横向きの問題を説明する多くの質問があります。たとえば、 UIInterfaceOrientationは常にAppDelegate iPadでPortraitを返しますか?
PayPal UIViewをキャッチして手動でローテーションしようとしていますが、それが可能かどうかはまだわかりません。
Paypalライブラリv1.6.0の場合、PayPalViewClass
はアプリケーションのメインのビュー階層にありますwindow
。
- @alexが提供するメソッドを呼び出して、アプリのデリゲートウィンドウを渡すだけです。
- ウィンドウを取得する
[[[UIApplication sharedApplication] delegate] window]
だけで十分です。 -advancedCheckoutWithPayment:
またはに電話した後に電話をかけます-checkoutWithPayment:
。
すべての向きを許可する場合は、PayPalViewClass
それに応じてデバイスの向きに変換する必要があります。