أحمد عبد الله2 نشر 24 يناير 2022 أرسل تقرير نشر 24 يناير 2022 السلام عليكم .. اريد حعل التطبيق يكون rtl انا قمت بعملها على اندريود بهذه الطريقة //. android mainfest android:supportsRtl="true" // main activity I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance(); sharedI18nUtilInstance.forceRTL(this, true); sharedI18nUtilInstance.allowRTL(this, true); ونفعت على اندريود .. الان اريد ان اجعل ال ios هو الاخر بهذه الطريقة يكون من اليمين الى اليسار .. اقتباس
0 Mohamd Imran نشر 24 يناير 2022 أرسل تقرير نشر 24 يناير 2022 وعليكم السلام @أحمد ابراهيم عبد الله يعتمد ذلك على اللغة التي تستخدمها في بناء تطبيقك هل هي Swift أم Objective-c ,لكن سأفترض إنك تستخدم Swift , يمكننا جعل الView يٌعرض من اليمين لليسار أو العكس من خلال إستخدام الخاصية semanticContentAttribute يمكنك الإطلاع على مزيد من طرق الإستخدام من خلال موقع أبل الرسمي من هنا semanticContentAttribute , الأن لجعل ال view من اليمين لليسار أو العكس سنقوم بعمل فنكشن تأخذ قيمة true أو false للجعل الview من اليمين لليسار أو العكس من خلال إستخدام الخاصية semanticContentAttribute , private func setKeyWindowFromAppDelegate(makeRTL: Bool) { UIView.appearance().semanticContentAttribute = makeRTL ? .forceRightToLeft : .forceLeftToRight let appDelegate = UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate let homeController = UIViewController() appDelegate?.window?.rootViewController = homeController } ما ستقوم به الفنكشن أعلاه , هو تحويل الفيو من اليمين لليسار في حالة مررنا true أو العكس في حالة مررنا false لها ,بعدها يمكننا إستدعائها هكذا مع تمرير القيمة true , false لها setKeyWindowFromAppDelegate(makeRTL: true) طبعاً هذا بشكل مبسط لتغيير إتجاه ال View فقط , يوجد عدة أمور يجب القيام بها في حالة تريد التطبيق يدعم اللغة العربية مثل ترجمة النصوص وإستدعاءها اقتباس
0 أحمد عبد الله2 نشر 25 يناير 2022 الكاتب أرسل تقرير نشر 25 يناير 2022 بتاريخ 17 ساعات قال Mohamd Imran: وعليكم السلام @أحمد ابراهيم عبد الله يعتمد ذلك على اللغة التي تستخدمها في بناء تطبيقك هل هي Swift أم Objective-c ,لكن سأفترض إنك تستخدم Swift , يمكننا جعل الView يٌعرض من اليمين لليسار أو العكس من خلال إستخدام الخاصية semanticContentAttribute يمكنك الإطلاع على مزيد من طرق الإستخدام من خلال موقع أبل الرسمي من هنا semanticContentAttribute , الأن لجعل ال view من اليمين لليسار أو العكس سنقوم بعمل فنكشن تأخذ قيمة true أو false للجعل الview من اليمين لليسار أو العكس من خلال إستخدام الخاصية semanticContentAttribute , private func setKeyWindowFromAppDelegate(makeRTL: Bool) { UIView.appearance().semanticContentAttribute = makeRTL ? .forceRightToLeft : .forceLeftToRight let appDelegate = UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate let homeController = UIViewController() appDelegate?.window?.rootViewController = homeController } ما ستقوم به الفنكشن أعلاه , هو تحويل الفيو من اليمين لليسار في حالة مررنا true أو العكس في حالة مررنا false لها ,بعدها يمكننا إستدعائها هكذا مع تمرير القيمة true , false لها setKeyWindowFromAppDelegate(makeRTL: true) طبعاً هذا بشكل مبسط لتغيير إتجاه ال View فقط , يوجد عدة أمور يجب القيام بها في حالة تريد التطبيق يدعم اللغة العربية مثل ترجمة النصوص وإستدعاءها انا لا عارف ان كان هذا كود سويفت ام اوبجكتيف سى .. لاننى مطور ريأكت ناتيف وليس ios وهذه اول مرة اتعامل مع ios هذا هو الكود مع وضع ما قلت عليه لكن للأسف التطبيق لا يعمل #import "AppDelegate.h" #import <React/RCTBridge.h> #import <React/RCTBundleURLProvider.h> #import <React/RCTRootView.h> #import <TwitterKit/TWTRKit.h> #import "RNBootSplash.h" #ifdef FB_SONARKIT_ENABLED #import <FlipperKit/FlipperClient.h> #import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h> #import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h> #import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h> #import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h> #import <FlipperKitReactPlugin/FlipperKitReactPlugin.h> #import <Firebase.h> static void InitializeFlipper(UIApplication *application) { FlipperClient *client = [FlipperClient sharedClient]; SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; [client addPlugin:[FlipperKitReactPlugin new]]; [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; [client start]; } #endif @implementation AppDelegate - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options { return [[Twitter sharedInstance] application:app openURL:url options:options]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [FIRApp configure]; #ifdef FB_SONARKIT_ENABLED InitializeFlipper(application); #endif private func setKeyWindowFromAppDelegate(makeRTL: Bool) { UIView.appearance().semanticContentAttribute = makeRTL ? .forceRightToLeft : .forceLeftToRight let appDelegate = UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate let homeController = UIViewController() appDelegate?.window?.rootViewController = homeController } setKeyWindowFromAppDelegate(makeRTL: true) RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"MyApp" initialProperties:nil]; if (@available(iOS 13.0, *)) { rootView.backgroundColor = [UIColor systemBackgroundColor]; } else { rootView.backgroundColor = [UIColor whiteColor]; } self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; UIViewController *rootViewController = [UIViewController new]; rootViewController.view = rootView; self.window.rootViewController = rootViewController; [self.window makeKeyAndVisible]; [RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView]; return YES; } - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; #else return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif } @end هذا هو الكود رجاء اخبرنى ان كان سويفت ام اوبجكتيف سى @Mohamd Imran 1 اقتباس
0 Mohamd Imran نشر 25 يناير 2022 أرسل تقرير نشر 25 يناير 2022 بتاريخ 13 ساعات قال أحمد ابراهيم عبد الله: هذا هو الكود رجاء اخبرنى ان كان سويفت ام اوبجكتيف سى آه معلش أعتذر لم إنتبه إلى إنك تستخدم react native قم بإزالة الفنكشن والكود الذي ذكرته لك في تعليقي الأول وإتبع التالي لرياكت , بالنسبة للكود المرفق الخاص بك هو Objective-c ,الأن في رياكت للIOS لجعل الفيو من اليمين لليسار , قم بإضافة سطر الإستيراد التالي في أعلى الكود قبل #import "AppDelegate.h" أي هكذا #import <React/RCTI18nUtil.h> #import "AppDelegate.h" ثم بعد ذلك قم بحذف الكاش من خلال الذهاب إلى المشروع في ال Xcode ثم ضغط Command + Shift + K وبعد ذلك , قم بإضافة الأسطر التالية في الميثود didFinishLaunchingWithOptions [[RCTI18nUtil sharedInstance] allowRTL:YES]; [[RCTI18nUtil sharedInstance] forceRTL:YES]; لإجبار الفيو أن يٌعرض من اليمين لليسار didFinishLaunchingWithOptions قبل أن يتم إرجاع Yes أي هكذا في الكود الخاص بك أي هنا - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [FIRApp configure]; قبل return YES; بعد ذلك المفترض أن يعمل معك الفيو من اليمين لليسار . اقتباس
السؤال
أحمد عبد الله2
السلام عليكم .. اريد حعل التطبيق يكون rtl انا قمت بعملها على اندريود بهذه الطريقة
ونفعت على اندريود .. الان اريد ان اجعل ال ios هو الاخر بهذه الطريقة يكون من اليمين الى اليسار ..
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.