Commit Graph
2314 Commits
Author SHA1 Message Date
appleguy 74bf376b2f [ASDisplayNode] Rename _propertyLock to __instanceLock__ to avoid subclass naming collisions. (#1941) 2016-07-16 15:32:13 -07:00
appleguy 3664ca67cb [ASDisplayNode] Short circuit measure calls that have a zero-area constrainedSize. (#1939)
* [ASDisplayNode] Short circuit measure calls that have a zero-area constrainedSize.

  // If the constrainedSize is completely zero-area, then there is no possibility for layout calculations to be successful.
  // This also avoids the issue of an inset being applied to 0, creating negative frame values.

* [ASDisplayNode] Fix to shouldMeasure change.

* One more fix.
2016-07-16 15:31:51 -07:00
Hannah Troisi 4baf9bdbfe [Infer] Fix Infer errors/warnings (#1938)
* [Infer] Fix 11 Infer errors/warnings

* fix build error
2016-07-16 15:29:24 -07:00
Hannah Troisi abf8d5b9aa [Infer] change atomic properties to nonatomic (#1932) 2016-07-16 10:46:55 -07:00
Adlai Holler dda7accd8e [ASCollectionView] When resizing, invalidate after remeasuring all nodes (#1931) 2016-07-15 16:32:23 -07:00
Michael Schneider 3b09cbb845 Merge pull request #1929 from rcancro/textScaleFactors
[ASTextNode] use accessor for `pointSizeScaleFactors`
2016-07-15 16:01:02 -07:00
ricky bd907dcffd added comment 2016-07-15 15:39:30 -07:00
Michael Schneider 9729b61dde Add whitespace 2016-07-15 13:19:06 -07:00
Michael Schneider fcfce5128d Grab propertyLock to get supportsRangeManagedInterfaceState and for asking dirty layout status 2016-07-15 13:19:06 -07:00
Michael Schneider 20a49f037b Comment adjustment for laying out nodes 2016-07-15 11:41:10 -07:00
Michael Schneider 4447ae4bd4 Move ASPerformBlockOnBackgroundThread as it already calls the method inline if it's on the main thread 2016-07-15 11:41:10 -07:00
Michael Schneider 729766a365 Add convenience functions to create relative sizes with percentage 2016-07-15 10:51:45 -07:00
Adlai Holler cc8e0049c5 Merge pull request #1921 from facebook/AHRangeModeUpdatingIssues
[ASRangeController] Fix Major Range Mode Updating Issues
2016-07-15 10:22:36 -07:00
Adlai Holler e7fc5a98f2 Merge pull request #1906 from facebook/AHReduceBlockInvocations
[Performance] Various Easy Performance Wins
2016-07-15 10:14:22 -07:00
Adlai Holler 013c1637a1 Merge pull request #1924 from maicki/MSFixASTextNodeTruncationAgain
[ASTextNode] Fix wrong truncation after constrained size changes
2016-07-15 10:07:06 -07:00
ricky c403175b91 [ASTextNode] use accessor for pointSizeScaleFactors
I have a subclass of `ASTextNode` that uses `pointSizeScaleFactors`. Currently I have to recompute the scale factors any time the font size changes. If `_rendererAttributes` used the property accesor for the scale factors I would only have to create them when asked. I hope this little change can make it in :)
2016-07-15 08:47:25 -07:00
Michael Schneider 359785ac92 [ASDisplayNode] Add automatic measurement before layout (#1725)
* Add automatic measurement before layout

* Remove code not needed or addressed in a different PR

* Adjust comments and rename __layoutSublayouts to __layoutSubnodes

* Check before setting up a placeholder layer if the node should have a placeholder
2016-07-14 21:51:40 -07:00
Michael Schneider a8c5ac138d [ASDisplayNode] Always layout nodes on a background thread (#1907)
* Always layout nodes on a background thread

* Remove semaphore in ASDataController for allocating nodes and layout

* Fix variable not used error

* Remove overhead to create subarray of contexts of nodes while layout nodes

* Remove extra allocation of allocatedNodes and indexPaths array
2016-07-14 21:35:58 -07:00
Adlai Holler cac0cce0b0 [ASLayoutTransition] Make findNodesInLayoutAtIndexesWithFilteredNodes faster 2016-07-14 16:11:28 -07:00
Michael Schneider bbc957bce5 Throw away all subcomponents of the text kit renderer if constraints are changing
Throw away the all subcomponents to create them with the new constrained size new as well as let the truncater do it's job again for the new constrained size. This is necessary as after a truncation did happen the context would use the truncated string and not the original string to truncate based on the new constrained size
2016-07-14 15:11:10 -07:00
Adlai Holler fe63b7b65f Use fast enumeration in a couple places 2016-07-14 15:10:49 -07:00
Garrett Moon aaea4a4d85 Class was in wrong #ifdef, thank you @schneider! 2016-07-14 14:57:40 -07:00
Garrett Moon 92e16fb7a6 Share ASDK's PINRemoteImage cache with default instance of PINRemoteImage 2016-07-14 14:57:35 -07:00
Michael Schneider cd46791f9d Move check for iOS 9 from an early return to an earlier check to prevent objc_msgSend 2016-07-14 14:50:54 -07:00
Michael Schneider 6e8772a68d Fix sizing of root node in ASViewController for modal presentation and root view controller 2016-07-14 14:48:05 -07:00
Adlai Holler 787fd8b90b [ASViewController] Defer range update conformance check until the actual range update 2016-07-14 11:32:50 -07:00
Adlai Holler b0a2ba0f6d [ASTableNode/ASCollectionNode] Make them conform directly to range updating protocol 2016-07-14 11:27:32 -07:00
Adlai Holler bd0254f306 [ASRangeControllerUpdateRangeProtocol] BREAKING Remove +setRangeModeForMemoryWarnings:, replace with global method 2016-07-14 11:26:18 -07:00
Adlai Holler 3591f7a7c1 [ASViewController] Allow VC to conform to range updating protocol, log message if impossible to update 2016-07-14 10:56:52 -07:00
Michael Schneider ce98e56352 Use getter of layout inspector to create it lazily and not have to create it at initialization time 2016-07-13 16:36:48 -07:00
Michael Schneider 8b3ec83bfd Small name changes 2016-07-13 16:36:48 -07:00
Michael Schneider d82a2e810f Move methods regarding supplementary nodes to optional in ASCollectionViewLayoutInspecting 2016-07-13 16:36:48 -07:00
Michael Schneider 30bb2ee93d Address comments from @levi 2016-07-13 16:36:48 -07:00
Michael Schneider 9fb3129a0e Add default ASCollectionViewLayoutInspecting for custom ASCollectionViewLayout 2016-07-13 16:36:48 -07:00
Michael Schneider 35c860c183 Refactor usage of ASCollectionViewLayoutInspecting
- Fix not using itemSize of UICollectionViewFlowLayout
- Move automatic constrained size calculation to the ASCollectionViewFlowLayoutInspector
- Provide a null layout inspector for throwing exceptions if a custom
  UICollectionView is given but no ASCollectionViewLayoutInspecting
- Fix not checking for optional layout inspecting data source methods
  are implemented or not
- Improving tests around ASCollectionViewLayoutInspecting
2016-07-13 16:36:48 -07:00
Michael Schneider e30c76c5ad Remove deprecated selected and highlighted methods (#1909) 2016-07-13 10:13:31 -07:00
Adlai Holler 0a9b308f2c [_ASHierarchyChangeSet] Use std::unordered_map rather than dictionary 2016-07-12 15:28:30 -07:00
Adlai Holler 8eb25e737b [ASCollectionDataController] Use block-based enumeration with dictionaries 2016-07-12 15:17:57 -07:00
Adlai Holler 9cd606d182 Two more small performance wins 2016-07-12 15:11:13 -07:00
Adlai Holler 6aad142f2e [ASCollectionDataController] Some optimizations 2016-07-12 15:11:13 -07:00
Adlai Holler 2e19d11350 Reduce block invocations, other small performance bumps 2016-07-12 15:11:13 -07:00
Adlai Holler e40597ec47 Merge pull request #1792 from george-gw/prMapNode
[ASMapNode] bug fixes + added the ability to zoom in on the annotations + example project
2016-07-12 14:42:47 -07:00
Adlai Holler edb4e45c24 [ASRangeController] Update synchronously when possible 2016-07-12 14:36:20 -07:00
Adlai Holler 2e3da9bc92 Merge pull request #1903 from nguyenhuy/ASButtonNode_updateTitle
[ASButtonNode] Correctly compare and update its title
2016-07-12 11:34:22 -07:00
Michael Schneider dc2255d5d8 Fix setNeedsLayout triggered from subnode will not trigger relayout 2016-07-12 09:26:40 -07:00
Huy Nguyen 4b331be1e8 Correctly compare and update title of ASButtonNode 2016-07-12 21:25:22 +07:00
George A 396583dbaa [ASMapNode] Protected showAnnotationsOptions with a lock. 2016-07-12 08:01:17 +02:00
Adlai Holler 6b44b5ac05 [ASTableView] Add retainedLayer a la collection view (#1896) 2016-07-11 20:22:45 -07:00
Michael Schneider 7f4737217e Change from MutexLocker / MutexUnlocker to lock() and unlock() directly on property lock (#1900)
For performance reasons change to directly lock and unlock calls on the property lock instance
2016-07-11 17:04:47 -07:00
Michael Schneider 93ee42db57 Remove assert in visibleStateDidChange: in ASCellNode (#1899)
This assertion is failing in some apps and will be enabled soon.
2016-07-11 17:04:20 -07:00