উত্তর https://stackoverflow.com/a/19249775/1502287 আমার পক্ষে কাজ করেছে, তবে ক্যামেরা প্লাগইন (এবং সম্ভাব্য অন্যরা) এবং "উচ্চতা = ডিভাইস- এর সাথে একটি ভিউপোর্ট মেটা ট্যাগ সহ এটি তৈরি করার জন্য আমাকে এটিকে কিছুটা পরিবর্তন করতে হয়েছিল Answer উচ্চতা "(উচ্চতার অংশটি নির্ধারণ না করা আমার ক্ষেত্রে কীবোর্ডটি ভিউয়ের উপরে প্রদর্শিত হতে পারে, সেই সাথে কিছু ইনপুট লুকিয়ে রাখবে)।
প্রতিবার যখন আপনি ক্যামেরা ভিউটি খুলবেন এবং আপনার অ্যাপ্লিকেশনটিতে ফিরে যাবেন, তখন ভিউ উইল অ্যাপয়ার পদ্ধতিটি কল করা হবে এবং আপনার ভিউ 20px দ্বারা সঙ্কুচিত হবে।
এছাড়াও, ভিউপোর্টের জন্য ডিভাইস-উচ্চতায় 20 টি অতিরিক্ত পিক্স অন্তর্ভুক্ত থাকবে, সামগ্রীটি স্ক্রোলযোগ্য এবং ওয়েবভিউয়ের চেয়ে 20px উচ্চতর হবে।
ক্যামেরা সমস্যার সম্পূর্ণ সমাধান এখানে দেওয়া হল:
মেইনভিউকন্ট্রোল.আরে:
@interface MainViewController : CDVViewController
@property (atomic) BOOL viewSizeChanged;
@end
মেইনভিউকন্ট্রোলআরমি:
@implementation MainViewController
@synthesize viewSizeChanged;
[...]
- (id)init
{
self = [super init];
if (self) {
self.viewSizeChanged = NO;
}
return self;
}
[...]
- (void)viewWillAppear:(BOOL)animated
{
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7 && !self.viewSizeChanged) {
CGRect viewBounds = [self.webView bounds];
viewBounds.origin.y = 20;
viewBounds.size.height = viewBounds.size.height - 20;
self.webView.frame = viewBounds;
self.viewSizeChanged = YES;
}
[super viewWillAppear:animated];
}
এখন ভিউপোর্ট সমস্যার জন্য, আপনার ডিভাইস প্রস্তুত ইভেন্ট শ্রোতারগুলিতে এটি যুক্ত করুন (jQuery ব্যবহার করে):
if (window.device && parseFloat(window.device.version) >= 7) {
$(window).on('orientationchange', function () {
var orientation = parseInt(window.orientation, 10);
var height = 300;
var width = 320;
if (orientation !== -90 && orientation !== 90 ) {
height = document.documentElement.clientHeight - 20;
} else {
width = document.documentElement.clientHeight + 20;
}
document.querySelector('meta[name=viewport]')
.setAttribute('content',
'width=' + width + ',' +
'height=' + height + ',' +
'initial-scale=1.0,maximum-scale=1.0,user-scalable=no');
})
.trigger('orientationchange');
}
অন্যান্য সংস্করণের জন্য আমি যে ভিউপোর্টটি ব্যবহার করি তা এখানে:
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0" />
এবং সব এখন ভাল কাজ করে।