在不使用 alpha 的情况下使用 UISegmentedControl 在视图 ios 之间切换?

Posted

技术标签:

【中文标题】在不使用 alpha 的情况下使用 UISegmentedControl 在视图 ios 之间切换?【英文标题】:switch between views ios using UISegmentedControl without using alpha? 【发布时间】:2019-09-26 19:12:57 【问题描述】:

我有 UISegmentedControl,我用它在 2 个 UI 视图之间切换,但我的视图有问题,使应用程序与 Web API 聊天。每个视图都会调用它的 API 来为每个视图带来数据。我想让应用程序父视图加载每个视图而没有子用户 alpha

import UIKit

class UsersGroupsViewController: UIViewController 

        @IBOutlet weak var usersView:UIView!
        @IBOutlet weak var groupView:UIView!

        @IBOutlet weak var segmentedControlViews: UISegmentedControl!

        override func viewDidLoad() 
            super.viewDidLoad()

            // Do any additional setup after loading the view.

            let font = UIFont.systemFont(ofSize: 15)
            segmentedControlViews.setTitleTextAttributes([NSAttributedString.Key.font: font], for: .normal)
        

        @IBAction func switchViews(_ sender: UISegmentedControl) 
            if sender.selectedSegmentIndex == 0 
                usersView.alpha = 1
                groupView.alpha = 0
             else 
                usersView.alpha = 0
                groupView.alpha = 1
            
        

【问题讨论】:

【参考方案1】:

而不是使用 alpha 使用 isHidden

@IBOutlet weak var segmentedControlViews: UISegmentedControl!
@IBOutlet weak var usersView: UIView!
@IBOutlet weak var groupView: UIView!

@IBAction func indexChanged(_ sender: UISegmentedControl) 
    switch sender.selectedSegmentIndex 
    case 0:
        usersView.isHidden = true
        groupView.isHidden = false
    case 1:
        usersView.isHidden = false
        groupView.isHidden = true
    default:
        break

【讨论】:

以上是关于在不使用 alpha 的情况下使用 UISegmentedControl 在视图 ios 之间切换?的主要内容,如果未能解决你的问题,请参考以下文章

在不混合的情况下使不透明的 UIView 变暗

如何在不继承 Java 组件的情况下更改其颜色或边界?

OPENGL:如何使用 blit 将 alpha 移动到红色通道

如何在不更改其他通道的情况下有效地将 cv::Mat 的给定通道设置为给定值?

优雅地上下数

如何在不安装 Zend 框架的情况下使用 Zend 库