Giter VIP home page Giter VIP logo

Comments (7)

nicksnyder avatar nicksnyder commented on May 29, 2024

Can you give an example? If you override any of the properties set in the function, then the computed layout will be incorrect.

from layoutkit.

RoCry avatar RoCry commented on May 29, 2024

@nicksnyder That's very true, but what if you want to change the text after layout?

For example, a time label that display the current time. In my case, I want to change it and change the frame mannually, do you have a better solution?

from layoutkit.

AlexLittlejohn avatar AlexLittlejohn commented on May 29, 2024

Use viewReuseId to make layout reuse cheaper. Then just update the layout every second.

from layoutkit.

RoCry avatar RoCry commented on May 29, 2024

@AlexLittlejohn So your solution is re layout the whole layout stack, at the particular case, I know the layout that I want to change won't affect other layouts. Is there a better way?

from layoutkit.

AlexLittlejohn avatar AlexLittlejohn commented on May 29, 2024

When updating a layout you use reuse ids to signal the whats changed, whats remaining the same and, by leaving them nil, the layouts that change every update.

Disclaimer: This is just how i use it. It might not be the 100% correct way.

from layoutkit.

RoCry avatar RoCry commented on May 29, 2024

@AlexLittlejohn In my understanding, reuse id only help you to avoid init same view multi times, but the calculation of layout still there, right?

from layoutkit.

nicksnyder avatar nicksnyder commented on May 29, 2024

@RoCry Sorry for slow response, I got sick this week.

what if you want to change the text after layout?

Either re-layout, or capture a reference to the UILabel in the config block (be careful about retain cycles) and then update the text as you see fit. Obviously, if you do the latter then there is no guarantee that the text will not over/underflow the layout.

reuse id only help you to avoid init same view multi times, but the calculation of layout still there, right?

Correct. Allocation and adding subviews is the slowest part. The layout itself is designed to be fast.

@AlexLittlejohn 's advice is correct. Using viewReuseId and recomputing the layout is almost certainly sufficient for your case if you are only doing layout once per second.

For now, the config block is first to prevent someone from accidentally overwriting a property that would potentially affect layout.

from layoutkit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.