recruit-mp / RMPScrollingMenuBarController

RMPScrollingMenuBarController has a scrollable menu bar, and multiple view controllers.
MIT License
258 stars 38 forks source link

InfinitePagingモード時に、インディケーターがずれてしまいます #11

Closed nashirox closed 8 years ago

nashirox commented 9 years ago

お世話になります。初めてイシューをあげるので、お作法が間違っていたらすいません。。。

表題の件ですが、次のスクショのような問題が発生しております。

ios simulator screen shot 2015 08 17 20 51 31

InfinitePagingモードをオフにすると問題が解消したことから、当モードに起因するのではないかと考え、イシューを立てさせていただきました。

以下がコードとなります。

class AppDelegate: UIResponder, UIApplicationDelegate, RMPScrollingMenuBarControllerDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        // 中略
        self.setup()

        return true
    }

    func setup() {
        // 画面初期化
        self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

        // RMPScrollingMenuBarの初期化
        var menuController:RMPScrollingMenuBarController = RMPScrollingMenuBarController()
        menuController.delegate = self

        // メニューバーのカスタム設定項目
        menuController.view.backgroundColor = UIColor.whiteColor()
        menuController.menuBar.indicatorColor = UIColor.blueColor()
        menuController.menuBar.style = RMPScrollingMenuBarStyle.InfinitePaging
        menuController.menuBar.showsIndicator = true
        menuController.menuBar.showsSeparatorLine = true

        // タブ化したいviewControllerのインスタンス化
        // 参考:http://qiita.com/midori004/items/4a67dc70af582aa91eec

        var storyboard = UIStoryboard(name: "Main", bundle: nil)
        let vc1 = storyboard.instantiateViewControllerWithIdentifier("ArticleTableView") as! ArticleTableViewController
        let vc2 = storyboard.instantiateViewControllerWithIdentifier("selectMediaTable") as! MediaManageTableViewController
        let vc3 = storyboard.instantiateViewControllerWithIdentifier("config") as! UITableViewController

        // タブ化したいVCの配列
        let viewControllers = NSArray(array: [vc1, vc1, vc1, vc2, vc3])

        // メニューバーにVCの配列をセット
        menuController.setViewControllers(viewControllers as [AnyObject], animated: true)

        // NavigationControllerを作成しセット
        var naviController:UINavigationController
        naviController = UINavigationController(rootViewController: menuController)
        self.window?.rootViewController = naviController

        self.window?.makeKeyAndVisible()
    }

    let titleItem : [String] = [ "タイトル1ほげ", "2番目のタイトル", "No3", "4枚目", "タイトル5"]

    // RMPScrollingMenuBar メニューバー設定
    func menuBarController(menuBarController: RMPScrollingMenuBarController!, menuBarItemAtIndex index: Int) -> RMPScrollingMenuBarItem! {
        var item = RMPScrollingMenuBarItem()

        item.title = titleItem[index]

        var button = item.button()
        button.setTitleColor(UIColor.lightGrayColor(), forState: UIControlState.Normal)
        button.setTitleColor(UIColor.grayColor(), forState: UIControlState.Disabled)
        button.setTitleColor(UIColor.blueColor(), forState: UIControlState.Selected)

        return item
    }
}

以上、報告申し上げます。

mpon commented 9 years ago

特にお作法はないので大丈夫です!

スクショだけだと何が問題なのか分かりにくいので、実際に問題が発生するExampleプロジェクトをGitHubにあげていただくと助かります:smile:

mpon commented 8 years ago

@nashirox その後返信がなさそうなので、closeさせてもらいます!