How to disable the attachement button in the SBUGroupchannelviewcontroller from a custom view controlelr?

Hi Team,
Iam using sendbird ui kit of 3.0.0 version in iOS app. iOS app deployment target is iOS15.5.

I open SBUGroupChannelListViewController from my application custom view controller like below.

 let (leftButton, rightButton) = self.createButtons()
        let mainVC = SBUGroupChannelListViewController()
        mainVC.headerComponent?.leftBarButton = leftButton
        mainVC.headerComponent?.rightBarButton = rightButton
        self.navigationController?.modalPresentationStyle = .fullScreen
        UIApplication.topViewController()?.navigationController?.pushViewController(mainVC, animated: true)

This will open chatlistviewcontroller perfectly but when user click on particular conversation i want to hide attachment button from my custom view controller.

I tried by extension of SBUMessageInputView and SBUGroupviewcontroller but none of them are seems to work? can u please help here!

Hi @Deepkumar1992

SBUMessageInputView and SBUGroupChannelModule.Input

First, As a default, SBUMessageInputView add addButton while initializing. (please refer to SBUMessageInputView setupViews(), SBUView setupViews())
To deal with the addButton in SBUMessageInputView (such as hiding), recommend you to create your own input component overriding SBUGroupChannelModule.Input.

class MyInputComponent: SBUGroupChannelModule.Input {
    override func setupViews() {
        super.setupViews()
        
        (self.messageInputView as? SBUMessageInputView)?.addButton?.isHidden = true
    }
}

And then update SBUModuleSet. It will apply to your application as a default.

SBUModuleSet.groupChannelModule.inputComponent = MyInputComponent()

(Optional) If you want to create your own message input view overriding SBUMessageInputView, please refer to below code:

class MyMessageInputView: SBUMessageInputView {
    override func setupViews() {
        super.setupViews()
        self.addButton?.isHidden = true
    }
}

(Optional) If you need to use your own message input view as a default, please update module set like below:

let inputComponent = SBUModuleSet.groupChannelModule.inputComponent
inputComponent?.messageInputView = MyMessageInputView() // Assign your customized message input view
SBUModuleSet.groupChannelModule.inputComponent = inputComponent // Update module set

SBUChannelListViewController and SBUChannelListModule.Header

Now you will see that the message input view is updated while using your code snippet.

(Optional) You can also update module set to use your header component entire of your app as default.

let (leftButton, rightButton) = self.createButtons()
let headerComponent = SBUModuleSet.channelListModule.headerComponent
headerComponent?.leftBarButton = leftButton
headerComponent?.rightBarButton = rightButton
SBUModuleSet.channelListModule.headerComponent = headerComponent

See Also

Here some references that help you understand UIKit v3 customizations.
SBUModuleSet: Basics of Module | UIKit iOS SDK | Sendbird Docs
SBUViewControllerSet: Basics of ViewController | UIKit iOS SDK | Sendbird Docs

Thanks for letting me know your issue. Please let me know if you have more issues on it.