作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用流行的 HMSegmentedControl 在我的项目中呈现片段。但是现在我面临着一个灾难性的问题,因为我无法将我的片段绑定(bind)到 ScrollView 。由于示例在 objective-c 中。在 Swift 中这样做变得越来越困难。代码是这样的——
self.segmentedControl4 = [[HMSegmentedControl alloc] initWithFrame:CGRectMake(0, 260, viewWidth, 50)];
self.segmentedControl4.sectionTitles = @[@"Worldwide", @"Local", @"Headlines"];
self.segmentedControl4.selectedSegmentIndex = 1;
self.segmentedControl4.backgroundColor = [UIColor colorWithRed:0.7 green:0.7 blue:0.7 alpha:1];
self.segmentedControl4.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};
self.segmentedControl4.selectedTitleTextAttributes = @{NSForegroundColorAttributeName : [UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:1]};
self.segmentedControl4.selectionIndicatorColor = [UIColor colorWithRed:0.3 green:0.3 blue:0.3 alpha:1];
self.segmentedControl4.selectionStyle = HMSegmentedControlSelectionStyleBox;
self.segmentedControl4.selectionIndicatorLocation = HMSegmentedControlSelectionIndicatorLocationUp;
self.segmentedControl4.tag = 3;
__weak typeof(self) weakSelf = self;
[self.segmentedControl4 setIndexChangeBlock:^(NSInteger index)
{
[weakSelf.scrollView scrollRectToVisible:CGRectMake(viewWidth * index, 0, viewWidth, 200) animated:YES];
}];
[self.view addSubview:self.segmentedControl4];
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 310, viewWidth, 210)];
self.scrollView.backgroundColor = [UIColor colorWithRed:0.7 green:0.7 blue:0.7 alpha:1];
self.scrollView.pagingEnabled = YES;
self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.contentSize = CGSizeMake(viewWidth * 3, 200);
self.scrollView.delegate = self;
[self.scrollView scrollRectToVisible:CGRectMake(viewWidth, 0, viewWidth, 200) animated:NO];
[self.view addSubview:self.scrollView];
谁有做过这个第三方的能给我一些解决方案吗?
最佳答案
这是滚动分段控件的代码。您也可以从 here 下载源代码.
import UIKit
import HSegmentControl
class ViewController: UIViewController, HSegmentControlDataSource {
@IBOutlet weak var segmentControl: HSegmentControl!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
segmentControl.dataSource = self
segmentControl.numberOfDisplayedSegments = 3
segmentControl.segmentIndicatorViewContentMode = UIViewContentMode.bottom
// segmentControl.selectedTitleFont = UIFont.boldSystemFont(ofSize: 17)
segmentControl.selectedTitleColor = UIColor.white
// segmentControl.unselectedTitleFont = UIFont.systemFont(ofSize: 17)
// segmentControl.unselectedTitleColor = UIColor.darkGray
// segmentControl.segmentIndicatorImage = UIImage(named: "ind_img")
segmentControl.segmentIndicatorView.backgroundColor = UIColor(red: 31.0/255.0, green: 48.0/255.0, blue: 93.0/255.0, alpha: 1.0)
segmentControl.selectedIndex = 2
}
// MARK: - HSegmentControlDataSource protocol
func numberOfSegments(_ segmentControl: HSegmentControl) -> Int {
return 5
}
func segmentControl(_ segmentControl: HSegmentControl, titleOfIndex index: Int) -> String {
return ["Kavin","Sitharth", "Raj", "Selva", "Rajesh"][index]
}
func segmentControl(_ segmentControl: HSegmentControl, segmentBackgroundViewOfIndex index: Int) -> UIView {
let view = UIView()
// view.backgroundColor = UIColor(red: CGFloat(drand48()), green: CGFloat(drand48()), blue: CGFloat(drand48()), alpha: 1)
return view
}
@IBAction func valueChanged(_ sender: AnyObject) {
print("value did change to \((sender as! HSegmentControl).selectedIndex)")
}
}
关于ios - HMSegmentedControl 在 Swift 中将分段控件绑定(bind)到 ScrollView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35292053/
你好,我正在使用 HMSegmentedControl 来实现滑动标签功能。而我的代码是这样的。 // Tying up the segmented control to a scroll view
在HMSegmentedControl中,我想进行重复的段选择。意味着如果已经选择了一个段,如果再次按下或选择它应该根据段选择执行/重新加载下一个功能。 最佳答案 在HMSegmentedContro
我想在我的项目中安装这个示例 SegmentedControl,我去了 Old-fashioned wai(将 HMSegmentedControl.h 和 HMSegmentedControl.m
我正在使用流行的 HMSegmentedControl 在我的项目中呈现片段。但是现在我面临着一个灾难性的问题,因为我无法将我的片段绑定(bind)到 ScrollView 。由于示例在 object
我是一名优秀的程序员,十分优秀!