چطور میشه در از داخل اسلاید منو، یک صفحه جدید باز کرد که فول اسکرین باز بشه !؟ (حل شد)
سلام به استاد و سایر اساتید.
من از MMDrawerController برای اسلاید منو استفاده میکنم.
داخل اسلاید منو یک دکمه ورود هست که وقتی کاربر روش کلیک میکنه به صفحه وارد کردن نام کاربری و رمز عبور منتقل میشه.
مشکلی که هست این هست که صفحه جدید در ادامه صفحه قبلی باز میشه و صفحه اول برنامه که مقداریش بصورت اسلاید باز هست همچنان بخشی از صفحه رو اشغال کرده...
من میخوام وقتی کاربر روی دکمه ثبت نام کلیک میکنه یک صفحه جدید باز بشه که این کار با مجزا کردن ویو کنترل صفحه جدید از صفحه قبلی ممکن شد. ولی یک مشکل جدید پیش میاد اینطوری.
مشکل جدید اینه که وقتی از صفحه ای که تمام قد باز شده برمیگردم به صفحه اصلی برنامه، دیگه دکمه های اسلاید منو که در دو طرف نویگیشن بار هستند کار نمی کنند !
من درست نفهمیدم مشکلتون چیه. ولی به صورت کلی توضیح میدم. شما وقتی روی Button توی منو کلیک میکنید, باید به VCـ اصلیتون (Center) خبر بدین و بش بگین اول منو بسته شه, بعد منو دیگه قابلیت باز شدن نداشته باشه (تا کاربر نتونه توی ثبت نام یا ورود منوی کشویی رو باز کنه چون نیازی بش نداره.) و بعد به ویو کنترلر جدید push کنه. حالا اگه برگردین, منو دیگه باز نمیشه, چون به MMDrawerController گفته بودین دیگه باز نشه (دقیقا یادم نیست syntax ـش چی بود ولی ساده هست یه سرچ بزنین پیدا میشه ولی فکر کنم یه چیزی تو مایه های panningGesture بود.) پس باید توی viewDidAppear ـ VC ـ اصلیتون قابلیت باز شدن منو (که فکر کنم panningGesture بود.) رو بش برگردونین.
با تشکر از شما دوست عزیز.
وقتی روی دکمه منو کلیک میشه، این فانکشن اجرا میشه: (چه برای بسته شدن، چه باز شدن.
func menuIconTapped(){
let appDelegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.centerContainer?.toggle(MMDrawerSide.right, animated: true, completion: nil)
}
همین رو در viewDidLoad صفحه جدیدی که از منو باز میشه قرار دادم تا اون منو رو ببنده اما توفیری حاصلی نشد.
شما نباید اینو توی viewDidLoad صفحه جدید قرار بدین. اول با همین func بهش بگین که منو رو ببنده, بعدش برین صفحه بعد. توی viewDidAppear صفحه بعد هم panningGesture ـش رو .None کنین تا user نتونه دیگه منو رو باز کنه با کشیدن روی صفحه.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .