QMUISegmentedControl.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /**
  2. * Tencent is pleased to support the open source community by making QMUI_iOS available.
  3. * Copyright (C) 2016-2021 THL A29 Limited, a Tencent company. All rights reserved.
  4. * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
  5. * http://opensource.org/licenses/MIT
  6. * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
  7. */
  8. //
  9. // QMUISegmentedControl.h
  10. // qmui
  11. //
  12. // Created by QMUI Team on 14/11/3.
  13. //
  14. #import <UIKit/UIKit.h>
  15. /*
  16. * QMUISegmentedControl,继承自 UISegmentedControl
  17. * 如果需要更大程度地修改样式,比如说字体大小,选中的 segment 的文字颜色等等,可以使用下面的第一个方法来做
  18. * QMUISegmentedControl 也同样支持使用图片来做样式,需要五张图片。
  19. */
  20. @interface QMUISegmentedControl : UISegmentedControl
  21. /// 获取当前的所有 segmentItem,可能包括 NSString 或 UIImage。
  22. @property(nonatomic, copy, readonly) NSArray *segmentItems;
  23. /**
  24. * 重新渲染 UISegmentedControl 的 UI,可以比较大程度地修改样式。比如 tintColor,selectedTextColor 等等。
  25. *
  26. * @param tintColor Segmented 的 tintColor,作用范围包括字体颜色和按钮 border
  27. * @param selectedTextColor Segmented 选中状态的字体颜色
  28. * @param fontSize Segmented 上字体的大小
  29. */
  30. - (void)updateSegmentedUIWithTintColor:(UIColor *)tintColor
  31. selectedTextColor:(UIColor *)selectedTextColor
  32. fontSize:(UIFont *)fontSize;
  33. /**
  34. * 用图片而非 tintColor 来渲染 UISegmentedControl 的 UI
  35. *
  36. * @param normalImage Segmented 非选中状态的背景图
  37. * @param selectedImage Segmented 选中状态的背景图
  38. * @param devideImage00 Segmented 在两个没有选中按钮 item 之间的分割线
  39. * @param devideImage01 Segmented 在左边没选中右边选中两个 item 之间的分割线
  40. * @param devideImage10 Segmented 在左边选中右边没选中两个 item 之间的分割线
  41. * @param textColor Segmented 的字体颜色
  42. * @param selectedTextColor Segmented 选中状态的字体颜色
  43. * @param fontSize Segmented 的字体大小
  44. */
  45. - (void)setBackgroundWithNormalImage:(UIImage *)normalImage
  46. selectedImage:(UIImage *)selectedImage
  47. devideImage00:(UIImage *)devideImage00
  48. devideImage01:(UIImage *)devideImage01
  49. devideImage10:(UIImage *)devideImage10
  50. textColor:(UIColor *)textColor
  51. selectedTextColor:(UIColor *)selectedTextColor
  52. fontSize:(UIFont *)fontSize;
  53. @end