mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Various fixes
This commit is contained in:
@@ -199,9 +199,12 @@ private class TimerPickerItemView: UIView {
|
|||||||
|
|
||||||
var value: (Int32, String)? {
|
var value: (Int32, String)? {
|
||||||
didSet {
|
didSet {
|
||||||
if let (_, string) = self.value {
|
if let (value, string) = self.value {
|
||||||
let components = string.components(separatedBy: " ")
|
let components = string.components(separatedBy: " ")
|
||||||
if components.count > 1 {
|
if value == viewOnceTimeout {
|
||||||
|
self.valueLabel.text = string
|
||||||
|
self.unitLabel.text = ""
|
||||||
|
} else if components.count > 1 {
|
||||||
self.valueLabel.text = components[0]
|
self.valueLabel.text = components[0]
|
||||||
self.unitLabel.text = components[1]
|
self.unitLabel.text = components[1]
|
||||||
}
|
}
|
||||||
@@ -236,8 +239,12 @@ private class TimerPickerItemView: UIView {
|
|||||||
self.valueLabel.sizeToFit()
|
self.valueLabel.sizeToFit()
|
||||||
self.unitLabel.sizeToFit()
|
self.unitLabel.sizeToFit()
|
||||||
|
|
||||||
self.valueLabel.frame = CGRect(origin: CGPoint(x: self.frame.width / 2.0 - 20.0 - self.valueLabel.frame.size.width, y: floor((self.frame.height - self.valueLabel.frame.height) / 2.0)), size: self.valueLabel.frame.size)
|
if let (value, _) = self.value, value == viewOnceTimeout {
|
||||||
self.unitLabel.frame = CGRect(origin: CGPoint(x: self.frame.width / 2.0 - 12.0, y: floor((self.frame.height - self.unitLabel.frame.height) / 2.0) + 2.0), size: self.unitLabel.frame.size)
|
self.valueLabel.frame = CGRect(origin: CGPoint(x: floorToScreenPixels((self.frame.width - self.valueLabel.frame.size.width) / 2.0), y: floor((self.frame.height - self.valueLabel.frame.height) / 2.0)), size: self.valueLabel.frame.size)
|
||||||
|
} else {
|
||||||
|
self.valueLabel.frame = CGRect(origin: CGPoint(x: self.frame.width / 2.0 - 20.0 - self.valueLabel.frame.size.width, y: floor((self.frame.height - self.valueLabel.frame.height) / 2.0)), size: self.valueLabel.frame.size)
|
||||||
|
self.unitLabel.frame = CGRect(origin: CGPoint(x: self.frame.width / 2.0 - 12.0, y: floor((self.frame.height - self.unitLabel.frame.height) / 2.0) + 2.0), size: self.unitLabel.frame.size)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -414,7 +421,14 @@ class ChatTimerScreenNode: ViewControllerTracingNode, UIScrollViewDelegate, UIPi
|
|||||||
if let pickerView = pickerView as? TimerCustomPickerView {
|
if let pickerView = pickerView as? TimerCustomPickerView {
|
||||||
switch strongSelf.mode {
|
switch strongSelf.mode {
|
||||||
case .sendTimer:
|
case .sendTimer:
|
||||||
strongSelf.completion?(timerValues[pickerView.selectedRow(inComponent: 0)])
|
let row = pickerView.selectedRow(inComponent: 0)
|
||||||
|
let value: Int32
|
||||||
|
if row == 0 {
|
||||||
|
value = viewOnceTimeout
|
||||||
|
} else {
|
||||||
|
value = timerValues[row - 1]
|
||||||
|
}
|
||||||
|
strongSelf.completion?(value)
|
||||||
case .autoremove:
|
case .autoremove:
|
||||||
let timeInterval = strongSelf.autoremoveTimerValues[pickerView.selectedRow(inComponent: 0)]
|
let timeInterval = strongSelf.autoremoveTimerValues[pickerView.selectedRow(inComponent: 0)]
|
||||||
strongSelf.completion?(Int32(timeInterval))
|
strongSelf.completion?(Int32(timeInterval))
|
||||||
@@ -456,6 +470,8 @@ class ChatTimerScreenNode: ViewControllerTracingNode, UIScrollViewDelegate, UIPi
|
|||||||
|
|
||||||
self.contentContainerNode.view.addSubview(pickerView)
|
self.contentContainerNode.view.addSubview(pickerView)
|
||||||
self.pickerView = pickerView
|
self.pickerView = pickerView
|
||||||
|
|
||||||
|
pickerView.selectRow(1, inComponent: 0, animated: false)
|
||||||
case .autoremove:
|
case .autoremove:
|
||||||
let pickerView = TimerCustomPickerView()
|
let pickerView = TimerCustomPickerView()
|
||||||
pickerView.dataSource = self
|
pickerView.dataSource = self
|
||||||
@@ -514,7 +530,7 @@ class ChatTimerScreenNode: ViewControllerTracingNode, UIScrollViewDelegate, UIPi
|
|||||||
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
|
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
|
||||||
switch self.mode {
|
switch self.mode {
|
||||||
case .sendTimer:
|
case .sendTimer:
|
||||||
return timerValues.count
|
return timerValues.count + 1
|
||||||
case .autoremove:
|
case .autoremove:
|
||||||
return self.autoremoveTimerValues.count
|
return self.autoremoveTimerValues.count
|
||||||
case .mute:
|
case .mute:
|
||||||
@@ -525,17 +541,30 @@ class ChatTimerScreenNode: ViewControllerTracingNode, UIScrollViewDelegate, UIPi
|
|||||||
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
|
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
|
||||||
switch self.mode {
|
switch self.mode {
|
||||||
case .sendTimer:
|
case .sendTimer:
|
||||||
let value = timerValues[row]
|
if row == 0 {
|
||||||
let string = timeIntervalString(strings: self.presentationData.strings, value: value)
|
let string = self.presentationData.strings.MediaPicker_Timer_ViewOnce
|
||||||
if let view = view as? TimerPickerItemView {
|
if let view = view as? TimerPickerItemView {
|
||||||
|
view.value = (viewOnceTimeout, string)
|
||||||
|
return view
|
||||||
|
}
|
||||||
|
|
||||||
|
let view = TimerPickerItemView()
|
||||||
|
view.value = (viewOnceTimeout, string)
|
||||||
|
view.textColor = .white
|
||||||
|
return view
|
||||||
|
} else {
|
||||||
|
let value = timerValues[row - 1]
|
||||||
|
let string = timeIntervalString(strings: self.presentationData.strings, value: value)
|
||||||
|
if let view = view as? TimerPickerItemView {
|
||||||
|
view.value = (value, string)
|
||||||
|
return view
|
||||||
|
}
|
||||||
|
|
||||||
|
let view = TimerPickerItemView()
|
||||||
view.value = (value, string)
|
view.value = (value, string)
|
||||||
|
view.textColor = .white
|
||||||
return view
|
return view
|
||||||
}
|
}
|
||||||
|
|
||||||
let view = TimerPickerItemView()
|
|
||||||
view.value = (value, string)
|
|
||||||
view.textColor = .white
|
|
||||||
return view
|
|
||||||
case .autoremove:
|
case .autoremove:
|
||||||
let itemView: TimerPickerItemView
|
let itemView: TimerPickerItemView
|
||||||
if let current = view as? TimerPickerItemView {
|
if let current = view as? TimerPickerItemView {
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
Reference in New Issue
Block a user