I'd like to know how to use Table View.
when multiple buttons are placed in a single cell for the following sources: Is it possible to determine which buttons are placed in the higher class (such as ViewController)?
I don't know how to do it, so I'm stuck.Please let me know.
Let me introduce you to two methods.First, use the responder chain.
If you have experience developing Mac applications, the responder chain is a common method for implementing menu bar menus, but it's not easy to see in iOS application development.However, it is a mechanism that is active behind the scenes, such as the propagation of touch events (
functouchesBegan(_touches:Set<, with event:UIEvent?)), so you must learn and understand well.
A responder chain is a mechanism that passes events caused by users, etc., one after another, between objects of
UIResponder, which are linked by multiple chains, as the direct translation of the "response chain" is well described.If any object in the chain has an action method (
@IBAction) implemented to handle the event, it executes the action method.
Did you notice that there is an item called "First Responder" in the View Controller on the Edit Storyboard screen?This means the tip of the responder chain.
Connecting the First Responder icon from a
UIControl object, such as a button, allows you to send an instruction (Action) to the responder chain instead of to a specific object.
First, view the First Responder Attributes Inspector and register the new action.In the figure below, we have registered the action
NSObject for versatility.
When you connect (Connect) to First Responder from a button object, you will find the action
doSomething that you just registered in the pull-down menu and select it.
You are now finished editing the Storyboard.Next, implement an action method for receiving events in the
With the above edits, tapping the button on the table cell will output "Hello".
UIViewController subclasses are automatically positioned closer to the end of the responder chain, so you can receive almost any event.
Instance Method addTarget(_:action:for:) class method to connect to the First Responder in a program instead of the Storyboard.Note that the argument
target for this method is optional (Any?) and see the reference description.
The target object —that is, the object which action method is
called.If you specify nil, UIKit searches the responder chain for an
object that responses to the specified action message and deliveries the
message to that object.
After fIf you specify nil,IK "UIKit finds an object in the responder chain that responds to a selector (
action:) and sends an action to that object" is a brief description of the responder chain.
The Table View under the
UITableViewController can be in the mode Static Cells.As the name implies, cells are statically placed without the need for a mechanism to dynamically reuse cells, but this mode has the advantage of connecting buttons placed on cells (
UIControl) to action methods defined in the
UITableViewController subclass.It's a great advantage to just edit on the Storyboard without thinking, "Buttons are on the cell..."
© 2022 OneMinuteCode. All rights reserved.