Major progress and refactor
Gonna remove dragging property
This commit is contained in:
parent
b5a7b49215
commit
9fa419e255
|
@ -1,472 +0,0 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
828F56DF1949B779009EB8DD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F56DE1949B779009EB8DD /* Foundation.framework */; };
|
||||
828F56E11949B779009EB8DD /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F56E01949B779009EB8DD /* CoreGraphics.framework */; };
|
||||
828F56E31949B779009EB8DD /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F56E21949B779009EB8DD /* UIKit.framework */; };
|
||||
828F56E91949B779009EB8DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 828F56E71949B779009EB8DD /* InfoPlist.strings */; };
|
||||
828F56EB1949B779009EB8DD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 828F56EA1949B779009EB8DD /* main.m */; };
|
||||
828F56EF1949B779009EB8DD /* TLYAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 828F56EE1949B779009EB8DD /* TLYAppDelegate.m */; };
|
||||
828F56F21949B779009EB8DD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 828F56F01949B779009EB8DD /* Main.storyboard */; };
|
||||
828F56F51949B779009EB8DD /* TLYViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 828F56F41949B779009EB8DD /* TLYViewController.m */; };
|
||||
828F56F71949B779009EB8DD /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 828F56F61949B779009EB8DD /* Images.xcassets */; };
|
||||
828F56FE1949B779009EB8DD /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F56FD1949B779009EB8DD /* XCTest.framework */; };
|
||||
828F56FF1949B779009EB8DD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F56DE1949B779009EB8DD /* Foundation.framework */; };
|
||||
828F57001949B779009EB8DD /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F56E21949B779009EB8DD /* UIKit.framework */; };
|
||||
828F57081949B779009EB8DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 828F57061949B779009EB8DD /* InfoPlist.strings */; };
|
||||
828F570A1949B779009EB8DD /* TLYShyNavBarTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 828F57091949B779009EB8DD /* TLYShyNavBarTests.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
828F57011949B779009EB8DD /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 828F56D31949B779009EB8DD /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 828F56DA1949B779009EB8DD;
|
||||
remoteInfo = TLYShyNavBar;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
828F56DB1949B779009EB8DD /* TLYShyNavBar.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TLYShyNavBar.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
828F56DE1949B779009EB8DD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
828F56E01949B779009EB8DD /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
828F56E21949B779009EB8DD /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
828F56E61949B779009EB8DD /* TLYShyNavBar-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TLYShyNavBar-Info.plist"; sourceTree = "<group>"; };
|
||||
828F56E81949B779009EB8DD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
828F56EA1949B779009EB8DD /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
828F56EC1949B779009EB8DD /* TLYShyNavBar-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "TLYShyNavBar-Prefix.pch"; sourceTree = "<group>"; };
|
||||
828F56ED1949B779009EB8DD /* TLYAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TLYAppDelegate.h; sourceTree = "<group>"; };
|
||||
828F56EE1949B779009EB8DD /* TLYAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TLYAppDelegate.m; sourceTree = "<group>"; };
|
||||
828F56F11949B779009EB8DD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
828F56F31949B779009EB8DD /* TLYViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TLYViewController.h; sourceTree = "<group>"; };
|
||||
828F56F41949B779009EB8DD /* TLYViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TLYViewController.m; sourceTree = "<group>"; };
|
||||
828F56F61949B779009EB8DD /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
828F56FC1949B779009EB8DD /* TLYShyNavBarTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TLYShyNavBarTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
828F56FD1949B779009EB8DD /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
828F57051949B779009EB8DD /* TLYShyNavBarTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TLYShyNavBarTests-Info.plist"; sourceTree = "<group>"; };
|
||||
828F57071949B779009EB8DD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
828F57091949B779009EB8DD /* TLYShyNavBarTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TLYShyNavBarTests.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
828F56D81949B779009EB8DD /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F56E11949B779009EB8DD /* CoreGraphics.framework in Frameworks */,
|
||||
828F56E31949B779009EB8DD /* UIKit.framework in Frameworks */,
|
||||
828F56DF1949B779009EB8DD /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
828F56F91949B779009EB8DD /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F56FE1949B779009EB8DD /* XCTest.framework in Frameworks */,
|
||||
828F57001949B779009EB8DD /* UIKit.framework in Frameworks */,
|
||||
828F56FF1949B779009EB8DD /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
828F56D21949B779009EB8DD = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F56E41949B779009EB8DD /* TLYShyNavBar */,
|
||||
828F57031949B779009EB8DD /* TLYShyNavBarTests */,
|
||||
828F56DD1949B779009EB8DD /* Frameworks */,
|
||||
828F56DC1949B779009EB8DD /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F56DC1949B779009EB8DD /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F56DB1949B779009EB8DD /* TLYShyNavBar.app */,
|
||||
828F56FC1949B779009EB8DD /* TLYShyNavBarTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F56DD1949B779009EB8DD /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F56DE1949B779009EB8DD /* Foundation.framework */,
|
||||
828F56E01949B779009EB8DD /* CoreGraphics.framework */,
|
||||
828F56E21949B779009EB8DD /* UIKit.framework */,
|
||||
828F56FD1949B779009EB8DD /* XCTest.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F56E41949B779009EB8DD /* TLYShyNavBar */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F56ED1949B779009EB8DD /* TLYAppDelegate.h */,
|
||||
828F56EE1949B779009EB8DD /* TLYAppDelegate.m */,
|
||||
828F56F01949B779009EB8DD /* Main.storyboard */,
|
||||
828F56F31949B779009EB8DD /* TLYViewController.h */,
|
||||
828F56F41949B779009EB8DD /* TLYViewController.m */,
|
||||
828F56F61949B779009EB8DD /* Images.xcassets */,
|
||||
828F56E51949B779009EB8DD /* Supporting Files */,
|
||||
);
|
||||
path = TLYShyNavBar;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F56E51949B779009EB8DD /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F56E61949B779009EB8DD /* TLYShyNavBar-Info.plist */,
|
||||
828F56E71949B779009EB8DD /* InfoPlist.strings */,
|
||||
828F56EA1949B779009EB8DD /* main.m */,
|
||||
828F56EC1949B779009EB8DD /* TLYShyNavBar-Prefix.pch */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57031949B779009EB8DD /* TLYShyNavBarTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F57091949B779009EB8DD /* TLYShyNavBarTests.m */,
|
||||
828F57041949B779009EB8DD /* Supporting Files */,
|
||||
);
|
||||
path = TLYShyNavBarTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57041949B779009EB8DD /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F57051949B779009EB8DD /* TLYShyNavBarTests-Info.plist */,
|
||||
828F57061949B779009EB8DD /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
828F56DA1949B779009EB8DD /* TLYShyNavBar */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 828F570D1949B779009EB8DD /* Build configuration list for PBXNativeTarget "TLYShyNavBar" */;
|
||||
buildPhases = (
|
||||
828F56D71949B779009EB8DD /* Sources */,
|
||||
828F56D81949B779009EB8DD /* Frameworks */,
|
||||
828F56D91949B779009EB8DD /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = TLYShyNavBar;
|
||||
productName = TLYShyNavBar;
|
||||
productReference = 828F56DB1949B779009EB8DD /* TLYShyNavBar.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
828F56FB1949B779009EB8DD /* TLYShyNavBarTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 828F57101949B779009EB8DD /* Build configuration list for PBXNativeTarget "TLYShyNavBarTests" */;
|
||||
buildPhases = (
|
||||
828F56F81949B779009EB8DD /* Sources */,
|
||||
828F56F91949B779009EB8DD /* Frameworks */,
|
||||
828F56FA1949B779009EB8DD /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
828F57021949B779009EB8DD /* PBXTargetDependency */,
|
||||
);
|
||||
name = TLYShyNavBarTests;
|
||||
productName = TLYShyNavBarTests;
|
||||
productReference = 828F56FC1949B779009EB8DD /* TLYShyNavBarTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
828F56D31949B779009EB8DD /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = TLY;
|
||||
LastUpgradeCheck = 0510;
|
||||
ORGANIZATIONNAME = "Telly, Inc.";
|
||||
TargetAttributes = {
|
||||
828F56FB1949B779009EB8DD = {
|
||||
TestTargetID = 828F56DA1949B779009EB8DD;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 828F56D61949B779009EB8DD /* Build configuration list for PBXProject "TLYShyNavBar" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 828F56D21949B779009EB8DD;
|
||||
productRefGroup = 828F56DC1949B779009EB8DD /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
828F56DA1949B779009EB8DD /* TLYShyNavBar */,
|
||||
828F56FB1949B779009EB8DD /* TLYShyNavBarTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
828F56D91949B779009EB8DD /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F56F71949B779009EB8DD /* Images.xcassets in Resources */,
|
||||
828F56E91949B779009EB8DD /* InfoPlist.strings in Resources */,
|
||||
828F56F21949B779009EB8DD /* Main.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
828F56FA1949B779009EB8DD /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F57081949B779009EB8DD /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
828F56D71949B779009EB8DD /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F56EF1949B779009EB8DD /* TLYAppDelegate.m in Sources */,
|
||||
828F56F51949B779009EB8DD /* TLYViewController.m in Sources */,
|
||||
828F56EB1949B779009EB8DD /* main.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
828F56F81949B779009EB8DD /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F570A1949B779009EB8DD /* TLYShyNavBarTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
828F57021949B779009EB8DD /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 828F56DA1949B779009EB8DD /* TLYShyNavBar */;
|
||||
targetProxy = 828F57011949B779009EB8DD /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
828F56E71949B779009EB8DD /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
828F56E81949B779009EB8DD /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F56F01949B779009EB8DD /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
828F56F11949B779009EB8DD /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57061949B779009EB8DD /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
828F57071949B779009EB8DD /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
828F570B1949B779009EB8DD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
828F570C1949B779009EB8DD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
828F570E1949B779009EB8DD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "TLYShyNavBar/TLYShyNavBar-Prefix.pch";
|
||||
INFOPLIST_FILE = "TLYShyNavBar/TLYShyNavBar-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
828F570F1949B779009EB8DD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "TLYShyNavBar/TLYShyNavBar-Prefix.pch";
|
||||
INFOPLIST_FILE = "TLYShyNavBar/TLYShyNavBar-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
828F57111949B779009EB8DD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/TLYShyNavBar.app/TLYShyNavBar";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "TLYShyNavBar/TLYShyNavBar-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "TLYShyNavBarTests/TLYShyNavBarTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
828F57121949B779009EB8DD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/TLYShyNavBar.app/TLYShyNavBar";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "TLYShyNavBar/TLYShyNavBar-Prefix.pch";
|
||||
INFOPLIST_FILE = "TLYShyNavBarTests/TLYShyNavBarTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
828F56D61949B779009EB8DD /* Build configuration list for PBXProject "TLYShyNavBar" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
828F570B1949B779009EB8DD /* Debug */,
|
||||
828F570C1949B779009EB8DD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
828F570D1949B779009EB8DD /* Build configuration list for PBXNativeTarget "TLYShyNavBar" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
828F570E1949B779009EB8DD /* Debug */,
|
||||
828F570F1949B779009EB8DD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
828F57101949B779009EB8DD /* Build configuration list for PBXNativeTarget "TLYShyNavBarTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
828F57111949B779009EB8DD /* Debug */,
|
||||
828F57121949B779009EB8DD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 828F56D31949B779009EB8DD /* Project object */;
|
||||
}
|
Binary file not shown.
|
@ -1,96 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0510"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "828F56DA1949B779009EB8DD"
|
||||
BuildableName = "TLYShyNavBar.app"
|
||||
BlueprintName = "TLYShyNavBar"
|
||||
ReferencedContainer = "container:TLYShyNavBar.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "828F56FB1949B779009EB8DD"
|
||||
BuildableName = "TLYShyNavBarTests.xctest"
|
||||
BlueprintName = "TLYShyNavBarTests"
|
||||
ReferencedContainer = "container:TLYShyNavBar.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "828F56DA1949B779009EB8DD"
|
||||
BuildableName = "TLYShyNavBar.app"
|
||||
BlueprintName = "TLYShyNavBar"
|
||||
ReferencedContainer = "container:TLYShyNavBar.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "828F56DA1949B779009EB8DD"
|
||||
BuildableName = "TLYShyNavBar.app"
|
||||
BlueprintName = "TLYShyNavBar"
|
||||
ReferencedContainer = "container:TLYShyNavBar.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "828F56DA1949B779009EB8DD"
|
||||
BuildableName = "TLYShyNavBar.app"
|
||||
BlueprintName = "TLYShyNavBar"
|
||||
ReferencedContainer = "container:TLYShyNavBar.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -1,27 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>SchemeUserState</key>
|
||||
<dict>
|
||||
<key>TLYShyNavBar.xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict>
|
||||
<key>828F56DA1949B779009EB8DD</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>828F56FB1949B779009EB8DD</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5023" systemVersion="13A603" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="vXZ-lx-hvc">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--class Prefix:identifier View Controller-->
|
||||
<scene sceneID="ufC-wZ-h7g">
|
||||
<objects>
|
||||
<viewController id="vXZ-lx-hvc" customClass="TLYViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="jyV-Pf-zRb"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
</scene>
|
||||
</scenes>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
<simulatedOrientationMetrics key="orientation"/>
|
||||
<simulatedScreenMetrics key="destination" type="retina4"/>
|
||||
</simulatedMetricsContainer>
|
||||
</document>
|
|
@ -1,46 +0,0 @@
|
|||
//
|
||||
// TLYAppDelegate.m
|
||||
// TLYShyNavBar
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TLYAppDelegate.h"
|
||||
|
||||
@implementation TLYAppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
// Override point for customization after application launch.
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)applicationWillResignActive:(UIApplication *)application
|
||||
{
|
||||
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
|
||||
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
|
||||
}
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application
|
||||
{
|
||||
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
|
||||
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
|
||||
}
|
||||
|
||||
- (void)applicationWillEnterForeground:(UIApplication *)application
|
||||
{
|
||||
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
|
||||
}
|
||||
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application
|
||||
{
|
||||
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application
|
||||
{
|
||||
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,29 +0,0 @@
|
|||
//
|
||||
// TLYViewController.m
|
||||
// TLYShyNavBar
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TLYViewController.h"
|
||||
|
||||
@interface TLYViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation TLYViewController
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
// Do any additional setup after loading the view, typically from a nib.
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning
|
||||
{
|
||||
[super didReceiveMemoryWarning];
|
||||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// UIViewController+ShyNavBar.h
|
||||
// TLYShyNavBarDemo
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface UIViewController (ShyNavBar)
|
||||
|
||||
- (void)tly_scrollViewWillBeginDragging:(UIScrollView *)scrollView;
|
||||
- (void)tly_scrollViewDidScroll:(UIScrollView *)scrollView;
|
||||
- (void)tly_scrollViewDidEndDragging:(UIScrollView *)scrollView;
|
||||
|
||||
@end
|
|
@ -0,0 +1,188 @@
|
|||
//
|
||||
// UIViewController+ShyNavBar.m
|
||||
// TLYShyNavBarDemo
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "UIViewController+ShyNavBar.h"
|
||||
#import "TLYViewController.h"
|
||||
#import <objc/runtime.h>
|
||||
|
||||
static char initialNavBarCenterKey;
|
||||
static char previousYOffsetKey;
|
||||
static char draggingKey;
|
||||
static char contractingKey;
|
||||
|
||||
static const CGFloat contractionAmount = 44.f;
|
||||
|
||||
@interface UIViewController ()
|
||||
|
||||
@property (nonatomic, readonly) UINavigationBar *navBar;
|
||||
|
||||
@property (nonatomic) CGPoint initialNavBarCenter;
|
||||
@property (nonatomic) CGFloat previousYOffset;
|
||||
|
||||
@property (nonatomic, getter = isDragging) BOOL dragging;
|
||||
@property (nonatomic, getter = isContracting) BOOL contracting;
|
||||
|
||||
@end
|
||||
|
||||
@implementation UIViewController (ShyNavBar)
|
||||
|
||||
#pragma mark - Category properties
|
||||
|
||||
- (UINavigationBar *)navBar
|
||||
{
|
||||
return self.navigationController.navigationBar;
|
||||
}
|
||||
|
||||
- (void)setInitialNavBarCenter:(CGPoint)initialNavBarCenter
|
||||
{
|
||||
objc_setAssociatedObject(self, &initialNavBarCenterKey, [NSValue valueWithCGPoint:initialNavBarCenter], OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
}
|
||||
|
||||
- (CGPoint)initialNavBarCenter
|
||||
{
|
||||
id value = objc_getAssociatedObject(self, &initialNavBarCenterKey);
|
||||
CGPoint center = [value CGPointValue];
|
||||
if (!value)
|
||||
{
|
||||
center = self.navigationController.navigationBar.center;
|
||||
self.initialNavBarCenter = center;
|
||||
}
|
||||
|
||||
return center;
|
||||
}
|
||||
|
||||
- (void)setPreviousYOffset:(CGFloat)previousYOffset
|
||||
{
|
||||
objc_setAssociatedObject(self, &previousYOffsetKey, @(previousYOffset), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
}
|
||||
|
||||
- (CGFloat)previousYOffset
|
||||
{
|
||||
id number = objc_getAssociatedObject(self, &previousYOffsetKey);
|
||||
return number ? [number floatValue] : NAN;
|
||||
}
|
||||
|
||||
- (void)setDragging:(BOOL)dragging
|
||||
{
|
||||
objc_setAssociatedObject(self, &draggingKey, @(dragging), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
}
|
||||
|
||||
- (BOOL)isDragging
|
||||
{
|
||||
return [objc_getAssociatedObject(self, &draggingKey) boolValue];
|
||||
}
|
||||
|
||||
- (void)setContracting:(BOOL)contracting
|
||||
{
|
||||
objc_setAssociatedObject(self, &contractingKey, @(contracting), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
}
|
||||
|
||||
- (BOOL)isContracting
|
||||
{
|
||||
return [objc_getAssociatedObject(self, &contractingKey) boolValue];
|
||||
}
|
||||
|
||||
#pragma mark - Private methods
|
||||
|
||||
- (void)_updateNavigationBarWithDeltaY:(CGFloat)deltaY
|
||||
{
|
||||
CGPoint newCenter = self.navBar.center;
|
||||
newCenter.y = MAX(MIN(self.initialNavBarCenter.y, newCenter.y - deltaY),
|
||||
self.initialNavBarCenter.y - contractionAmount);
|
||||
|
||||
self.navBar.center = newCenter;
|
||||
|
||||
CGFloat newAlpha = 1.f - (self.initialNavBarCenter.y - newCenter.y) / contractionAmount;
|
||||
newAlpha = MIN(MAX(FLT_EPSILON, newAlpha), 1.f);
|
||||
|
||||
NSMutableArray *navItems = [NSMutableArray array];
|
||||
[navItems addObjectsFromArray:self.navigationItem.leftBarButtonItems];
|
||||
[navItems addObjectsFromArray:self.navigationItem.rightBarButtonItems];
|
||||
|
||||
if (self.navBar.topItem.titleView)
|
||||
{
|
||||
[navItems addObject:self.navBar.topItem.titleView];
|
||||
}
|
||||
|
||||
[self _updateSubviewsAlpha:newAlpha];
|
||||
|
||||
self.contracting = deltaY > 0;
|
||||
}
|
||||
|
||||
- (void)_updateSubviewsAlpha:(CGFloat)alpha
|
||||
{
|
||||
for (UIView* view in self.navBar.subviews)
|
||||
{
|
||||
bool isBackgroundView = view == self.navBar.subviews[0];
|
||||
bool isViewHidden = view.hidden || view.alpha < FLT_EPSILON;
|
||||
|
||||
if (isBackgroundView || isViewHidden)
|
||||
continue;
|
||||
|
||||
view.alpha = alpha;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Public methods
|
||||
|
||||
- (void)tly_scrollViewWillBeginDragging:(UIScrollView *)scrollView
|
||||
{
|
||||
self.dragging = YES;
|
||||
}
|
||||
|
||||
- (void)tly_scrollViewDidScroll:(UIScrollView *)scrollView
|
||||
{
|
||||
if (!isnan(self.previousYOffset))
|
||||
{
|
||||
CGFloat deltaY = scrollView.contentOffset.y - self.previousYOffset;
|
||||
CGFloat offset;
|
||||
|
||||
offset = -scrollView.contentInset.top;
|
||||
if (scrollView.contentOffset.y - deltaY < offset)
|
||||
{
|
||||
deltaY = MAX(0, scrollView.contentOffset.y - deltaY + offset);
|
||||
}
|
||||
|
||||
offset = scrollView.contentSize.height - CGRectGetHeight(scrollView.bounds) - scrollView.contentInset.bottom;
|
||||
if (scrollView.contentOffset.y + deltaY > offset)
|
||||
{
|
||||
deltaY = MAX(0, scrollView.contentOffset.y + deltaY + offset);
|
||||
}
|
||||
|
||||
[self _updateNavigationBarWithDeltaY:deltaY];
|
||||
}
|
||||
|
||||
self.previousYOffset = scrollView.contentOffset.y;
|
||||
}
|
||||
|
||||
- (void)tly_scrollViewDidEndDragging:(UIScrollView *)scrollView
|
||||
{
|
||||
static const CGFloat velocity = 140.f;
|
||||
|
||||
self.dragging = NO;
|
||||
|
||||
CGFloat newCenterY = (self.isContracting
|
||||
? self.initialNavBarCenter.y - contractionAmount
|
||||
: self.initialNavBarCenter.y);
|
||||
|
||||
CGFloat deltaY = newCenterY - self.navBar.center.y;
|
||||
|
||||
[UIView animateWithDuration:fabs(deltaY/velocity)
|
||||
animations:^{
|
||||
self.navBar.center = CGPointMake(self.navBar.center.x, newCenterY);
|
||||
[self _updateSubviewsAlpha:self.isContracting ? FLT_EPSILON : 1.f];
|
||||
}];
|
||||
|
||||
CGPoint newContentOffset = scrollView.contentOffset;
|
||||
newContentOffset.y -= deltaY;
|
||||
|
||||
// TODO: manually animate content offset to match navbar animation
|
||||
[scrollView setContentOffset:newContentOffset animated:YES];
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,489 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8268F9F01949CC9D004EC0E4 /* UIViewController+ShyNavBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 8268F9EF1949CC9D004EC0E4 /* UIViewController+ShyNavBar.m */; };
|
||||
828F57201949C37B009EB8DD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F571F1949C37B009EB8DD /* Foundation.framework */; };
|
||||
828F57221949C37B009EB8DD /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F57211949C37B009EB8DD /* CoreGraphics.framework */; };
|
||||
828F57241949C37B009EB8DD /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F57231949C37B009EB8DD /* UIKit.framework */; };
|
||||
828F572A1949C37B009EB8DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 828F57281949C37B009EB8DD /* InfoPlist.strings */; };
|
||||
828F572C1949C37B009EB8DD /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 828F572B1949C37B009EB8DD /* main.m */; };
|
||||
828F57301949C37B009EB8DD /* TLYAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 828F572F1949C37B009EB8DD /* TLYAppDelegate.m */; };
|
||||
828F57331949C37B009EB8DD /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 828F57311949C37B009EB8DD /* Main.storyboard */; };
|
||||
828F57361949C37B009EB8DD /* TLYViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 828F57351949C37B009EB8DD /* TLYViewController.m */; };
|
||||
828F57381949C37B009EB8DD /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 828F57371949C37B009EB8DD /* Images.xcassets */; };
|
||||
828F573F1949C37B009EB8DD /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F573E1949C37B009EB8DD /* XCTest.framework */; };
|
||||
828F57401949C37B009EB8DD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F571F1949C37B009EB8DD /* Foundation.framework */; };
|
||||
828F57411949C37B009EB8DD /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 828F57231949C37B009EB8DD /* UIKit.framework */; };
|
||||
828F57491949C37B009EB8DD /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 828F57471949C37B009EB8DD /* InfoPlist.strings */; };
|
||||
828F574B1949C37B009EB8DD /* TLYShyNavBarDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 828F574A1949C37B009EB8DD /* TLYShyNavBarDemoTests.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
828F57421949C37B009EB8DD /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 828F57141949C37B009EB8DD /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 828F571B1949C37B009EB8DD;
|
||||
remoteInfo = TLYShyNavBarDemo;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
8268F9EE1949CC9D004EC0E4 /* UIViewController+ShyNavBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+ShyNavBar.h"; sourceTree = "<group>"; };
|
||||
8268F9EF1949CC9D004EC0E4 /* UIViewController+ShyNavBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+ShyNavBar.m"; sourceTree = "<group>"; };
|
||||
828F571C1949C37B009EB8DD /* TLYShyNavBarDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TLYShyNavBarDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
828F571F1949C37B009EB8DD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
828F57211949C37B009EB8DD /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
828F57231949C37B009EB8DD /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
828F57271949C37B009EB8DD /* TLYShyNavBarDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TLYShyNavBarDemo-Info.plist"; sourceTree = "<group>"; };
|
||||
828F57291949C37B009EB8DD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
828F572B1949C37B009EB8DD /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
828F572D1949C37B009EB8DD /* TLYShyNavBarDemo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "TLYShyNavBarDemo-Prefix.pch"; sourceTree = "<group>"; };
|
||||
828F572E1949C37B009EB8DD /* TLYAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TLYAppDelegate.h; sourceTree = "<group>"; };
|
||||
828F572F1949C37B009EB8DD /* TLYAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TLYAppDelegate.m; sourceTree = "<group>"; };
|
||||
828F57321949C37B009EB8DD /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
828F57341949C37B009EB8DD /* TLYViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TLYViewController.h; sourceTree = "<group>"; };
|
||||
828F57351949C37B009EB8DD /* TLYViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TLYViewController.m; sourceTree = "<group>"; };
|
||||
828F57371949C37B009EB8DD /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
828F573D1949C37B009EB8DD /* TLYShyNavBarDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TLYShyNavBarDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
828F573E1949C37B009EB8DD /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
|
||||
828F57461949C37B009EB8DD /* TLYShyNavBarDemoTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TLYShyNavBarDemoTests-Info.plist"; sourceTree = "<group>"; };
|
||||
828F57481949C37B009EB8DD /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
828F574A1949C37B009EB8DD /* TLYShyNavBarDemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TLYShyNavBarDemoTests.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
828F57191949C37B009EB8DD /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F57221949C37B009EB8DD /* CoreGraphics.framework in Frameworks */,
|
||||
828F57241949C37B009EB8DD /* UIKit.framework in Frameworks */,
|
||||
828F57201949C37B009EB8DD /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
828F573A1949C37B009EB8DD /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F573F1949C37B009EB8DD /* XCTest.framework in Frameworks */,
|
||||
828F57411949C37B009EB8DD /* UIKit.framework in Frameworks */,
|
||||
828F57401949C37B009EB8DD /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
828F57131949C37B009EB8DD = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F57541949C381009EB8DD /* TLYShyNavBar */,
|
||||
828F57251949C37B009EB8DD /* TLYShyNavBarDemo */,
|
||||
828F57441949C37B009EB8DD /* TLYShyNavBarDemoTests */,
|
||||
828F571E1949C37B009EB8DD /* Frameworks */,
|
||||
828F571D1949C37B009EB8DD /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F571D1949C37B009EB8DD /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F571C1949C37B009EB8DD /* TLYShyNavBarDemo.app */,
|
||||
828F573D1949C37B009EB8DD /* TLYShyNavBarDemoTests.xctest */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F571E1949C37B009EB8DD /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F571F1949C37B009EB8DD /* Foundation.framework */,
|
||||
828F57211949C37B009EB8DD /* CoreGraphics.framework */,
|
||||
828F57231949C37B009EB8DD /* UIKit.framework */,
|
||||
828F573E1949C37B009EB8DD /* XCTest.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57251949C37B009EB8DD /* TLYShyNavBarDemo */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F572E1949C37B009EB8DD /* TLYAppDelegate.h */,
|
||||
828F572F1949C37B009EB8DD /* TLYAppDelegate.m */,
|
||||
828F57311949C37B009EB8DD /* Main.storyboard */,
|
||||
828F57341949C37B009EB8DD /* TLYViewController.h */,
|
||||
828F57351949C37B009EB8DD /* TLYViewController.m */,
|
||||
828F57371949C37B009EB8DD /* Images.xcassets */,
|
||||
828F57261949C37B009EB8DD /* Supporting Files */,
|
||||
);
|
||||
path = TLYShyNavBarDemo;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57261949C37B009EB8DD /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F57271949C37B009EB8DD /* TLYShyNavBarDemo-Info.plist */,
|
||||
828F57281949C37B009EB8DD /* InfoPlist.strings */,
|
||||
828F572B1949C37B009EB8DD /* main.m */,
|
||||
828F572D1949C37B009EB8DD /* TLYShyNavBarDemo-Prefix.pch */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57441949C37B009EB8DD /* TLYShyNavBarDemoTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F574A1949C37B009EB8DD /* TLYShyNavBarDemoTests.m */,
|
||||
828F57451949C37B009EB8DD /* Supporting Files */,
|
||||
);
|
||||
path = TLYShyNavBarDemoTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57451949C37B009EB8DD /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
828F57461949C37B009EB8DD /* TLYShyNavBarDemoTests-Info.plist */,
|
||||
828F57471949C37B009EB8DD /* InfoPlist.strings */,
|
||||
);
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57541949C381009EB8DD /* TLYShyNavBar */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8268F9EE1949CC9D004EC0E4 /* UIViewController+ShyNavBar.h */,
|
||||
8268F9EF1949CC9D004EC0E4 /* UIViewController+ShyNavBar.m */,
|
||||
);
|
||||
name = TLYShyNavBar;
|
||||
path = ../TLYShyNavBar;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
828F571B1949C37B009EB8DD /* TLYShyNavBarDemo */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 828F574E1949C37B009EB8DD /* Build configuration list for PBXNativeTarget "TLYShyNavBarDemo" */;
|
||||
buildPhases = (
|
||||
828F57181949C37B009EB8DD /* Sources */,
|
||||
828F57191949C37B009EB8DD /* Frameworks */,
|
||||
828F571A1949C37B009EB8DD /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = TLYShyNavBarDemo;
|
||||
productName = TLYShyNavBarDemo;
|
||||
productReference = 828F571C1949C37B009EB8DD /* TLYShyNavBarDemo.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
828F573C1949C37B009EB8DD /* TLYShyNavBarDemoTests */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 828F57511949C37B009EB8DD /* Build configuration list for PBXNativeTarget "TLYShyNavBarDemoTests" */;
|
||||
buildPhases = (
|
||||
828F57391949C37B009EB8DD /* Sources */,
|
||||
828F573A1949C37B009EB8DD /* Frameworks */,
|
||||
828F573B1949C37B009EB8DD /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
828F57431949C37B009EB8DD /* PBXTargetDependency */,
|
||||
);
|
||||
name = TLYShyNavBarDemoTests;
|
||||
productName = TLYShyNavBarDemoTests;
|
||||
productReference = 828F573D1949C37B009EB8DD /* TLYShyNavBarDemoTests.xctest */;
|
||||
productType = "com.apple.product-type.bundle.unit-test";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
828F57141949C37B009EB8DD /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = TLY;
|
||||
LastUpgradeCheck = 0510;
|
||||
ORGANIZATIONNAME = "Telly, Inc.";
|
||||
TargetAttributes = {
|
||||
828F573C1949C37B009EB8DD = {
|
||||
TestTargetID = 828F571B1949C37B009EB8DD;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 828F57171949C37B009EB8DD /* Build configuration list for PBXProject "TLYShyNavBarDemo" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 828F57131949C37B009EB8DD;
|
||||
productRefGroup = 828F571D1949C37B009EB8DD /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
828F571B1949C37B009EB8DD /* TLYShyNavBarDemo */,
|
||||
828F573C1949C37B009EB8DD /* TLYShyNavBarDemoTests */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
828F571A1949C37B009EB8DD /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F57381949C37B009EB8DD /* Images.xcassets in Resources */,
|
||||
828F572A1949C37B009EB8DD /* InfoPlist.strings in Resources */,
|
||||
828F57331949C37B009EB8DD /* Main.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
828F573B1949C37B009EB8DD /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F57491949C37B009EB8DD /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
828F57181949C37B009EB8DD /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F57301949C37B009EB8DD /* TLYAppDelegate.m in Sources */,
|
||||
8268F9F01949CC9D004EC0E4 /* UIViewController+ShyNavBar.m in Sources */,
|
||||
828F57361949C37B009EB8DD /* TLYViewController.m in Sources */,
|
||||
828F572C1949C37B009EB8DD /* main.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
828F57391949C37B009EB8DD /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
828F574B1949C37B009EB8DD /* TLYShyNavBarDemoTests.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
828F57431949C37B009EB8DD /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 828F571B1949C37B009EB8DD /* TLYShyNavBarDemo */;
|
||||
targetProxy = 828F57421949C37B009EB8DD /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
828F57281949C37B009EB8DD /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
828F57291949C37B009EB8DD /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57311949C37B009EB8DD /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
828F57321949C37B009EB8DD /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
828F57471949C37B009EB8DD /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
828F57481949C37B009EB8DD /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
828F574C1949C37B009EB8DD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
828F574D1949C37B009EB8DD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 7.1;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
828F574F1949C37B009EB8DD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "TLYShyNavBarDemo/TLYShyNavBarDemo-Prefix.pch";
|
||||
INFOPLIST_FILE = "TLYShyNavBarDemo/TLYShyNavBarDemo-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
828F57501949C37B009EB8DD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "TLYShyNavBarDemo/TLYShyNavBarDemo-Prefix.pch";
|
||||
INFOPLIST_FILE = "TLYShyNavBarDemo/TLYShyNavBarDemo-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
828F57521949C37B009EB8DD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/TLYShyNavBarDemo.app/TLYShyNavBarDemo";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "TLYShyNavBarDemo/TLYShyNavBarDemo-Prefix.pch";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "TLYShyNavBarDemoTests/TLYShyNavBarDemoTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
828F57531949C37B009EB8DD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/TLYShyNavBarDemo.app/TLYShyNavBarDemo";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(SDKROOT)/Developer/Library/Frameworks",
|
||||
"$(inherited)",
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "TLYShyNavBarDemo/TLYShyNavBarDemo-Prefix.pch";
|
||||
INFOPLIST_FILE = "TLYShyNavBarDemoTests/TLYShyNavBarDemoTests-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUNDLE_LOADER)";
|
||||
WRAPPER_EXTENSION = xctest;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
828F57171949C37B009EB8DD /* Build configuration list for PBXProject "TLYShyNavBarDemo" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
828F574C1949C37B009EB8DD /* Debug */,
|
||||
828F574D1949C37B009EB8DD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
828F574E1949C37B009EB8DD /* Build configuration list for PBXNativeTarget "TLYShyNavBarDemo" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
828F574F1949C37B009EB8DD /* Debug */,
|
||||
828F57501949C37B009EB8DD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
828F57511949C37B009EB8DD /* Build configuration list for PBXNativeTarget "TLYShyNavBarDemoTests" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
828F57521949C37B009EB8DD /* Debug */,
|
||||
828F57531949C37B009EB8DD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 828F57141949C37B009EB8DD /* Project object */;
|
||||
}
|
|
@ -2,6 +2,6 @@
|
|||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:TLYShyNavBar.xcodeproj">
|
||||
location = "self:TLYShyNavBarDemo.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
|
@ -0,0 +1,75 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="13D65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="XGk-6h-chh">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="ufC-wZ-h7g">
|
||||
<objects>
|
||||
<viewController id="vXZ-lx-hvc" customClass="TLYViewController" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="jyV-Pf-zRb"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="d0u-JZ-WMw">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="sample" translatesAutoresizingMaskIntoConstraints="NO" id="RWp-Z1-nNI">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="800"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="vXZ-lx-hvc" id="kxr-NG-k4Q"/>
|
||||
</connections>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="d0u-JZ-WMw" firstAttribute="leading" secondItem="kh9-bI-dsS" secondAttribute="leading" id="Q0J-kA-HLh"/>
|
||||
<constraint firstItem="d0u-JZ-WMw" firstAttribute="top" secondItem="jyV-Pf-zRb" secondAttribute="bottom" constant="-64" id="Unf-GQ-Oe7"/>
|
||||
<constraint firstAttribute="trailing" secondItem="d0u-JZ-WMw" secondAttribute="trailing" id="fQI-qM-aeE"/>
|
||||
<constraint firstItem="2fi-mo-0CV" firstAttribute="bottom" secondItem="d0u-JZ-WMw" secondAttribute="bottom" id="x7m-de-P1d"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<navigationItem key="navigationItem" id="vR6-NW-SQ1"/>
|
||||
<connections>
|
||||
<outlet property="imageView" destination="RWp-Z1-nNI" id="6fW-pD-yc1"/>
|
||||
<outlet property="scrollView" destination="d0u-JZ-WMw" id="BVu-7c-4oX"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="397" y="-204"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="77F-I9-Peg">
|
||||
<objects>
|
||||
<navigationController definesPresentationContext="YES" id="XGk-6h-chh" sceneMemberID="viewController">
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" id="k3v-VM-xiB">
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</navigationBar>
|
||||
<connections>
|
||||
<segue destination="vXZ-lx-hvc" kind="relationship" relationship="rootViewController" id="myR-Px-RqD"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="aBF-PB-KsZ" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-167" y="-204"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="sample" width="320" height="800"/>
|
||||
</resources>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
<simulatedOrientationMetrics key="orientation"/>
|
||||
<simulatedScreenMetrics key="destination" type="retina4"/>
|
||||
</simulatedMetricsContainer>
|
||||
</document>
|
17
TLYShyNavBarDemo/TLYShyNavBarDemo/Images.xcassets/sample.imageset/Contents.json
vendored
Normal file
17
TLYShyNavBarDemo/TLYShyNavBarDemo/Images.xcassets/sample.imageset/Contents.json
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x",
|
||||
"filename" : "sample@2x.png"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
BIN
TLYShyNavBarDemo/TLYShyNavBarDemo/Images.xcassets/sample.imageset/sample@2x.png
vendored
Normal file
BIN
TLYShyNavBarDemo/TLYShyNavBarDemo/Images.xcassets/sample.imageset/sample@2x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 MiB |
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// TLYAppDelegate.h
|
||||
// TLYShyNavBar
|
||||
// TLYShyNavBarDemo
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
|
@ -0,0 +1,19 @@
|
|||
//
|
||||
// TLYAppDelegate.m
|
||||
// TLYShyNavBarDemo
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TLYAppDelegate.h"
|
||||
|
||||
@implementation TLYAppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
// Override point for customization after application launch.
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
|
@ -13,4 +13,6 @@
|
|||
#ifdef __OBJC__
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "UIViewController+ShyNavBar.h"
|
||||
#endif
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// TLYViewController.h
|
||||
// TLYShyNavBar
|
||||
// TLYShyNavBarDemo
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
||||
|
@ -8,6 +8,6 @@
|
|||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface TLYViewController : UIViewController
|
||||
@interface TLYViewController : UIViewController <UIScrollViewDelegate>
|
||||
|
||||
@end
|
|
@ -0,0 +1,61 @@
|
|||
//
|
||||
// TLYViewController.m
|
||||
// TLYShyNavBarDemo
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TLYViewController.h"
|
||||
|
||||
@interface TLYViewController ()
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
|
||||
|
||||
@end
|
||||
|
||||
@implementation TLYViewController
|
||||
|
||||
- (id)initWithCoder:(NSCoder *)aDecoder
|
||||
{
|
||||
self = [super initWithCoder:aDecoder];
|
||||
if (self) {
|
||||
self.title = @"WTFox Say";
|
||||
self.toolbarItems = @[[[UIBarButtonItem alloc] initWithCustomView:[[UISegmentedControl alloc] initWithItems:@[@"One", @"Two"]]]];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
self.navigationController.toolbarHidden = NO;
|
||||
}
|
||||
|
||||
- (void)viewDidLayoutSubviews
|
||||
{
|
||||
[super viewDidLayoutSubviews];
|
||||
|
||||
self.scrollView.contentSize = self.imageView.bounds.size;
|
||||
}
|
||||
|
||||
#pragma mark - UIScrollViewDelegate methods
|
||||
|
||||
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
|
||||
{
|
||||
[self tly_scrollViewWillBeginDragging:scrollView];
|
||||
}
|
||||
|
||||
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
|
||||
{
|
||||
[self tly_scrollViewDidScroll:scrollView];
|
||||
}
|
||||
|
||||
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
|
||||
{
|
||||
[self tly_scrollViewDidEndDragging:scrollView];
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// main.m
|
||||
// TLYShyNavBar
|
||||
// TLYShyNavBarDemo
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
|
@ -1,6 +1,6 @@
|
|||
//
|
||||
// TLYShyNavBarTests.m
|
||||
// TLYShyNavBarTests
|
||||
// TLYShyNavBarDemoTests.m
|
||||
// TLYShyNavBarDemoTests
|
||||
//
|
||||
// Created by Mazyad Alabduljaleel on 6/12/14.
|
||||
// Copyright (c) 2014 Telly, Inc. All rights reserved.
|
||||
|
@ -8,11 +8,11 @@
|
|||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@interface TLYShyNavBarTests : XCTestCase
|
||||
@interface TLYShyNavBarDemoTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation TLYShyNavBarTests
|
||||
@implementation TLYShyNavBarDemoTests
|
||||
|
||||
- (void)setUp
|
||||
{
|
Loading…
Reference in New Issue