<!--
{
  "availability" : [
    "iOS: 2.0.0 -",
    "iPadOS: 2.0.0 -",
    "macCatalyst: 13.1.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UITabBarController/customizableViewControllers",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UITabBarController(py)customizableViewControllers"
  },
  "title" : "customizableViewControllers"
}
-->

# customizableViewControllers

The subset of view controllers managed by this tab bar controller that can be customized.

```
var customizableViewControllers: [UIViewController]? { get set }
```

## Discussion

This property controls which items in the tab bar can be rearranged by the user. When the user taps the More item on the tab bar view, a custom interface appears displaying any items that did not fit on the main tab bar. This interface also contains an Edit button that allows the user to rearrange the items. Only the items whose associated view controllers are in this array can be rearranged from this interface. If the array is empty or the value of this property is `nil`, the tab bar does not allow any items to be rearranged.

Changing the value of the [`viewControllers`](/documentation/UIKit/UITabBarController/viewControllers) property (either directly or using the [`setViewControllers(_:animated:)`](/documentation/UIKit/UITabBarController/setViewControllers(_:animated:)) method) also changes the value of this property. When first assigned to the tab bar controller, all view controllers are customizable by default.

> Note:
> Customizable tab bar controllers and the More interface are not available in tvOS.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)