Created
December 29, 2012 01:08
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IosCustomTabBar = require('components/IosCustomTabBar') | |
new IosCustomTabBar(tabGroup: $.index, backgroundImage: '/designer/tabbar_background.png') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<Alloy> | |
<TabGroup> | |
<Tab id='homeTab' title="Home" icon="/designer/tabbar_homerest.png" selectedIcon="/designer/tabbar_homeselect.png"> | |
<Require src="home" id="home"/> | |
</Tab> | |
<Tab id='nearbyTab' title="Nearby" icon="/designer/tabbar_nearbyrest.png" selectedIcon="/designer/tabbar_nearbyselect.png"> | |
<Require src="nearby/index" id="nearby"/> | |
</Tab> | |
<Tab id='searchTab' title="Search" icon="/designer/tabbar_searchrest.png" selectedIcon="/designer/tabbar_searchselect.png"> | |
<Require src="search/index" id="search"/> | |
</Tab> | |
<Tab id='favoritesTab' title="Favorites" icon="/designer/tabbar_favoritesrest.png" selectedIcon="/designer/tabbar_favoritesselect.png"> | |
<Require src="favorites/index" id="favorites"/> | |
</Tab> | |
<Tab id='moreTab' title="More" icon="/designer/tabbar_morerest.png" selectedIcon="/designer/tabbar_morerselect.png"> | |
<Require src="more/index" id="more"/> | |
</Tab> | |
</TabGroup> | |
</Alloy> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class IosCustomTabBar | |
constructor: (options) -> | |
@tabGroup = options.tabGroup | |
@backgroundImage = options.backgroundImage | |
@initializeUI() | |
initializeUI: -> | |
@createCustomTabBar() | |
@tabGroup.addEventListener 'focus', (event) => | |
customTabs = @customTabBar.getChildren() | |
#Reset icons for custom tabs | |
for customTab, pos in customTabs | |
customTabimageView = customTab.getChildren()[0] | |
customTabimageView.setImage(@tabGroup.tabs[pos].getIcon()) | |
customTabimageView.setBottom(12) | |
#Set the selected icon for current custom tab in focus | |
selectedCustomTabImageView = customTabs[event.index].getChildren()[0] | |
selectedCustomTabImageView.setBottom(0) | |
selectedCustomTabImageView.setImage(@tabGroup.tabs[event.index].getSelectedIcon()) | |
createCustomTabBar: -> | |
@customTabBar = Ti.UI.createImageView(image: @backgroundImage, bottom: 0, touchEnabled: false) | |
@tabGroup.add(@customTabBar) | |
@addCustomTabs() | |
addCustomTabs: -> | |
for tab, pos in @tabGroup.tabs | |
options = | |
width: Ti.Platform.displayCaps.platformWidth / @tabGroup.tabs.length | |
height: 60 | |
bottom: 2 | |
left: ((Ti.Platform.displayCaps.platformWidth / @tabGroup.tabs.length) * pos) + 1 | |
#Special Handling for custom search tab | |
options.bottom = 8 if pos == 2 | |
#Create a container view and add imageView to container | |
containerView = Ti.UI.createView(options) | |
containerView.add Ti.UI.createImageView(image: tab.getIcon(), bottom: 12) | |
@customTabBar.add containerView | |
module.exports = IosCustomTabBar |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment